You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
(51) |
Nov
(8) |
Dec
(13) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(32) |
Feb
(47) |
Mar
(6) |
Apr
(19) |
May
(7) |
Jun
(19) |
Jul
(39) |
Aug
(51) |
Sep
(39) |
Oct
(18) |
Nov
(10) |
Dec
(27) |
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <den...@us...> - 2010-09-12 16:23:54
|
Revision: 320
http://stdair.svn.sourceforge.net/stdair/?rev=320&view=rev
Author: denis_arnaud
Date: 2010-09-12 16:23:47 +0000 (Sun, 12 Sep 2010)
Log Message:
-----------
[Test] Added a test sub-directory for Boost.Intrusive-based architecture.
Modified Paths:
--------------
trunk/stdair/test/archi_intru/FlightDate.hpp
trunk/stdair/test/archi_intru/Makefile.am
trunk/stdair/test/archi_intru/archi.cpp
trunk/stdair/test/archi_intru/sources.mk
Added Paths:
-----------
trunk/stdair/test/archi_intru/TestManager.cpp
trunk/stdair/test/archi_intru/TestManager.hpp
Modified: trunk/stdair/test/archi_intru/FlightDate.hpp
===================================================================
--- trunk/stdair/test/archi_intru/FlightDate.hpp 2010-09-12 14:43:43 UTC (rev 319)
+++ trunk/stdair/test/archi_intru/FlightDate.hpp 2010-09-12 16:23:47 UTC (rev 320)
@@ -53,12 +53,17 @@
/** Get a string describing the key. */
const std::string describeKey() const { return _key; }
};
+
+ // ///////////////// Type definitions /////////////
+ /** Standard (STL) list (vector) of BOM FlightDate objects (pointers). */
+ typedef std::vector<stdair::FlightDate*> FlightDateVector_T;
- /** List of child-type FlightDate objects. */
+ /** (Boost.Intrusive) List of child-type FlightDate objects. */
typedef bi::member_hook <FlightDate, bi::list_member_hook<>,
&FlightDate::_childListHook> FlightDateListMemberOption;
typedef bi::list<FlightDate, FlightDateListMemberOption> FlightDateChildList;
+ /** (Boost.Intrusive) Set of child-type FlightDate objects. */
typedef bi::member_hook <FlightDate, bi::set_member_hook<>,
&FlightDate::_childSetHook> FlightDateSetMemberOption;
typedef bi::set<FlightDate, FlightDateSetMemberOption> FlightDateChildSet;
Modified: trunk/stdair/test/archi_intru/Makefile.am
===================================================================
--- trunk/stdair/test/archi_intru/Makefile.am 2010-09-12 14:43:43 UTC (rev 319)
+++ trunk/stdair/test/archi_intru/Makefile.am 2010-09-12 16:23:47 UTC (rev 320)
@@ -10,12 +10,22 @@
EXTRA_DIST =
##
+##
+# Test library
+noinst_LTLIBRARIES = libarchiintru.la
+
+libarchiintru_la_SOURCES = $(archi_intru_h_sources) $(archi_intru_cc_sources)
+libarchiintru_la_CXXFLAGS = $(BOOST_CFLAGS)
+libarchiintru_la_LDFLAGS = $(BOOST_LIBS)
+
+##
+# Test binary
check_PROGRAMS = archi
#TESTS = $(check_PROGRAMS)
TESTS =
XFAIL_TESTS = #IndexBuildingTestSuite
-archi_SOURCES = $(archi_intru_h_sources) $(archi_intru_cc_sources)
-archi_CXXFLAGS = $(BOOST_CFLAGS)
-archi_LDFLAGS = $(BOOST_LIBS)
+archi_SOURCES = archi.cpp
+archi_CXXFLAGS =
archi_LDADD =
+archi_LDFLAGS = $(top_builddir)/test/archi_intru/libarchiintru.la
Added: trunk/stdair/test/archi_intru/TestManager.cpp
===================================================================
Added: trunk/stdair/test/archi_intru/TestManager.hpp
===================================================================
--- trunk/stdair/test/archi_intru/TestManager.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/TestManager.hpp 2010-09-12 16:23:47 UTC (rev 320)
@@ -0,0 +1,172 @@
+#ifndef __LATUS_STDAIR_TST_TESTMANAGER_HPP
+#define __LATUS_STDAIR_TST_TESTMANAGER_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <vector>
+// Boost
+#include <boost/intrusive/list.hpp>
+// Local
+#include <test/archi_intru/FlightDate.hpp>
+//#include <test/archi_intru/FacRelationShipRoot.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+/** Class wrapping test functions. */
+class TestManager {
+public:
+ /** Destructor. */
+ ~TestManager() { clean(); }
+
+public:
+ /** Fill the standard (STL) vector. */
+ void initStandard() {
+ // Create several FlightDate objects, each one with a different value
+ for (int idx = 0; idx < 100; ++idx) {
+ stdair::FlightDate* lFlightDate_ptr = new stdair::FlightDate (idx);
+ assert (lFlightDate_ptr != NULL);
+
+ _flightDateVector.push_back (lFlightDate_ptr);
+ }
+ }
+
+ /** Fill the (Boost) Intrusive list (and set). */
+ void initIntrusive() {
+ // Now insert them in the same order as in vector in the member hook list
+ for (stdair::FlightDateVector_T::iterator itFlight (_flightDateVector.begin()),
+ itend (_flightDateVector.end()); itFlight != itend; ++itFlight) {
+ stdair::FlightDate* lFlightDate_ptr = *itFlight;
+ assert (lFlightDate_ptr != NULL);
+
+ _flightDateChildList.push_back (*lFlightDate_ptr);
+ _flightDateChildSet.insert (*lFlightDate_ptr);
+ }
+
+ // DEBUG
+ /*
+ std::cout << "Size of the Boost.Intrusive list of FlightDate objects: "
+ << lFlightDateChildList.size() << std::endl;
+ std::cout << "Size of the Boost.Intrusive set of FlightDate objects: "
+ << lFlightDateChildSet.size() << std::endl;
+ */
+ }
+
+ /** Some memory cleaning.
+ <br>Note: the FlightDate objects cannot be simply deleted (with the
+ delete opearator).
+ <br>See also, for more details:
+ - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/usage.html#intrusive.usage.usage_lifetime
+ - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/erasing_and_disposing.html
+ <br>First, clear simply all the Boost.Intrusive containers but one. Then,
+ clear the last Boost.Intrusive container while deleting the corresponding
+ hooked objects.
+ */
+ void clean() {
+ _flightDateChildSet.clear();
+ _flightDateChildList.clear_and_dispose (delete_disposer<stdair::FlightDate>());
+ }
+
+ /** Optimized search functions */
+ stdair::FlightDate* getFromSet (const std::string& iKey) {
+ stdair::FlightDate* oFlightDate_ptr = NULL;
+ stdair::FlightDateChildSet::iterator itFlight =
+ _flightDateChildSet.find (iKey, StrExpComp<stdair::FlightDate>());
+ if (itFlight == _flightDateChildSet.end()) {
+ return oFlightDate_ptr;
+ }
+ oFlightDate_ptr = &*itFlight;
+ return oFlightDate_ptr;
+ }
+
+ /** Test (Boost) Intrusive lists. */
+ bool testIntrusiveList() {
+ bool oTestSuccessfull = true;
+
+ stdair::FlightDateChildList::iterator mit (_flightDateChildList.begin()),
+ mitend (_flightDateChildList.end());
+ stdair::FlightDateVector_T::iterator itFlight (_flightDateVector.begin()),
+ itend (_flightDateVector.end());
+
+ // Test the objects inserted in the member hook list
+ for (itFlight = _flightDateVector.begin();
+ itFlight != itend; ++itFlight, ++mit) {
+ stdair::FlightDate* lFlightDate_ptr = *itFlight;
+ assert (lFlightDate_ptr != NULL);
+
+ if (&*mit != lFlightDate_ptr) {
+ oTestSuccessfull = false;
+ break;
+ }
+ }
+
+ return oTestSuccessfull;
+ }
+
+ /** Test (Boost) Intrusive iterator_to(). */
+ bool testIntrusiveIteratorTo() {
+ bool oTestSuccessfull = true;
+
+ stdair::FlightDateChildList::iterator itChild(_flightDateChildList.begin());
+ for (int idx = 0; idx < 100; ++idx, ++itChild) {
+ stdair::FlightDate* lFlightDate_ptr = _flightDateVector.at(idx);
+ assert (lFlightDate_ptr != NULL);
+
+ if (_flightDateChildList.iterator_to (*lFlightDate_ptr) != itChild ||
+ stdair::FlightDateChildList::s_iterator_to(*lFlightDate_ptr) != itChild) {
+ oTestSuccessfull = false;
+ break;
+ }
+ }
+
+ return oTestSuccessfull;
+ }
+
+ /** Test (Boost) Intrusive sets. */
+ bool testIntrusiveSets() {
+ bool oTestSuccessfull = true;
+
+ stdair::FlightDateChildSet::iterator itChild (_flightDateChildSet.begin()),
+ itChildEnd (_flightDateChildSet.end());
+ for (; itChild != itChildEnd; ++itChild) {
+ const stdair::FlightDate& lFlightDate = *itChild;
+
+ const std::string& lKey = lFlightDate.getKey();
+ stdair::FlightDate* retrievedFlightDate_ptr = getFromSet (lKey);
+
+ // DEBUG
+ /*
+ std::cout << "Key = '" << lKey << "', itFD = "
+ << &lFlightDate << ", retrieved: " << retrievedFlightDate_ptr
+ << std::endl;
+ */
+
+ if (retrievedFlightDate_ptr == NULL ||
+ _flightDateChildSet.iterator_to (lFlightDate) != itChild ||
+ _flightDateChildSet.iterator_to (*retrievedFlightDate_ptr) != itChild ||
+ stdair::FlightDateChildSet::s_iterator_to (lFlightDate) != itChild ||
+ stdair::FlightDateChildSet::s_iterator_to(*retrievedFlightDate_ptr) != itChild) {
+ oTestSuccessfull = false;
+ break;
+ }
+ }
+
+ return oTestSuccessfull;
+ }
+
+public:
+ // Standard STL container
+ stdair::FlightDateVector_T _flightDateVector;
+
+ // (Boost) Intrusive container
+ stdair::FlightDateChildList _flightDateChildList;
+ stdair::FlightDateChildSet _flightDateChildSet;
+};
+
+#endif // __LATUS_STDAIR_TST_TESTMANAGER_HPP
Modified: trunk/stdair/test/archi_intru/archi.cpp
===================================================================
--- trunk/stdair/test/archi_intru/archi.cpp 2010-09-12 14:43:43 UTC (rev 319)
+++ trunk/stdair/test/archi_intru/archi.cpp 2010-09-12 16:23:47 UTC (rev 320)
@@ -7,26 +7,11 @@
// Boost
#include <boost/intrusive/list.hpp>
// Local
-#include <test/archi_intru/FlightDate.hpp>
-//#include <test/archi_intru/FacRelationShipRoot.hpp>
+#include <test/archi_intru/TestManager.hpp>
/** Alias for the boost::intrusive namespace. */
namespace bi = boost::intrusive;
-
-// Optimized search functions
-stdair::FlightDate* getFromSet(const std::string& iKey,
- stdair::FlightDateChildSet& ioFlightDateChildSet) {
- stdair::FlightDate* oFlightDate_ptr = NULL;
- stdair::FlightDateChildSet::iterator itFlight =
- ioFlightDateChildSet.find (iKey, StrExpComp<stdair::FlightDate>());
- if (itFlight == ioFlightDateChildSet.end()) {
- return oFlightDate_ptr;
- }
- oFlightDate_ptr = &*itFlight;
- return oFlightDate_ptr;
-}
-
// /////////////////////////// M A I N /////////////////////////
/** Main.
<br>Run with the following command:
@@ -37,115 +22,21 @@
int main (int argc, char* argv[]) {
//
- typedef std::vector<stdair::FlightDate*> FlightDateVector_T;
-
- // Standard STL container
- FlightDateVector_T lFlightDateVector;
+ TestManager lTestManager;
- // Create several FlightDate objects, each one with a different value
- for (int idx = 0; idx < 100; ++idx) {
- stdair::FlightDate* lFlightDate_ptr = new stdair::FlightDate (idx);
- assert (lFlightDate_ptr != NULL);
-
- lFlightDateVector.push_back (lFlightDate_ptr);
- }
+ // Fill the standard (STL) vector
+ lTestManager.initStandard();
- // (Boost) Intrusive container
- stdair::FlightDateChildList lFlightDateChildList;
- stdair::FlightDateChildSet lFlightDateChildSet;
-
- // Now insert them in the same order as in vector in the member hook list
- for (FlightDateVector_T::iterator itFlight (lFlightDateVector.begin()),
- itend (lFlightDateVector.end()); itFlight != itend; ++itFlight) {
- stdair::FlightDate* lFlightDate_ptr = *itFlight;
- assert (lFlightDate_ptr != NULL);
-
- lFlightDateChildList.push_back (*lFlightDate_ptr);
- lFlightDateChildSet.insert (*lFlightDate_ptr);
- }
-
- // DEBUG
- /*
- std::cout << "Size of the Boost.Intrusive list of FlightDate objects: "
- << lFlightDateChildList.size() << std::endl;
- std::cout << "Size of the Boost.Intrusive set of FlightDate objects: "
- << lFlightDateChildSet.size() << std::endl;
- */
-
+ lTestManager.initIntrusive();
+
// Now test lists
- {
- stdair::FlightDateChildList::iterator mit (lFlightDateChildList.begin()),
- mitend (lFlightDateChildList.end());
- FlightDateVector_T::iterator itFlight (lFlightDateVector.begin()),
- itend (lFlightDateVector.end());
-
- // Test the objects inserted in the member hook list
- for (itFlight = lFlightDateVector.begin();
- itFlight != itend; ++itFlight, ++mit) {
- stdair::FlightDate* lFlightDate_ptr = *itFlight;
- assert (lFlightDate_ptr != NULL);
-
- if (&*mit != lFlightDate_ptr) {
- return 1;
- }
- }
- }
-
+ lTestManager.testIntrusiveList();
+
// Now, test iterator_to()
- {
- stdair::FlightDateChildList::iterator itChild(lFlightDateChildList.begin());
- for (int idx = 0; idx < 100; ++idx, ++itChild) {
- stdair::FlightDate* lFlightDate_ptr = lFlightDateVector.at(idx);
- assert (lFlightDate_ptr != NULL);
-
- if (lFlightDateChildList.iterator_to (*lFlightDate_ptr) != itChild ||
- stdair::FlightDateChildList::s_iterator_to(*lFlightDate_ptr) != itChild) {
- return 1;
- }
- }
- }
-
+ lTestManager.testIntrusiveIteratorTo();
+
// Now, test sets
- {
- stdair::FlightDateChildSet::iterator itChild (lFlightDateChildSet.begin()),
- itChildEnd (lFlightDateChildSet.end());
- for (; itChild != itChildEnd; ++itChild) {
- const stdair::FlightDate& lFlightDate = *itChild;
-
- const std::string& lKey = lFlightDate.getKey();
- stdair::FlightDate* retrievedFlightDate_ptr =
- getFromSet (lKey, lFlightDateChildSet);
-
- // DEBUG
- /*
- std::cout << "Key = '" << lKey << "', itFD = "
- << &lFlightDate << ", retrieved: " << retrievedFlightDate_ptr
- << std::endl;
- */
-
- if (retrievedFlightDate_ptr == NULL ||
- lFlightDateChildSet.iterator_to (lFlightDate) != itChild ||
- lFlightDateChildSet.iterator_to (*retrievedFlightDate_ptr) != itChild ||
- stdair::FlightDateChildSet::s_iterator_to (lFlightDate) != itChild ||
- stdair::FlightDateChildSet::s_iterator_to(*retrievedFlightDate_ptr) != itChild) {
- return 1;
- }
- }
- }
+ lTestManager.testIntrusiveSets();
-
- /** Some memory cleaning.
- <br>Note: the FlightDate objects cannot be simply deleted (with the
- delete opearator).
- <br>See also, for more details:
- - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/usage.html#intrusive.usage.usage_lifetime
- - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/erasing_and_disposing.html
- <br>First, clear simply all the Boost.Intrusive containers but one. Then,
- clear the last Boost.Intrusive container while deleting the corresponding
- hooked objects.
- */
- lFlightDateChildSet.clear();
- lFlightDateChildList.clear_and_dispose(delete_disposer<stdair::FlightDate>());
-
return 0;
}
Modified: trunk/stdair/test/archi_intru/sources.mk
===================================================================
--- trunk/stdair/test/archi_intru/sources.mk 2010-09-12 14:43:43 UTC (rev 319)
+++ trunk/stdair/test/archi_intru/sources.mk 2010-09-12 16:23:47 UTC (rev 320)
@@ -7,7 +7,8 @@
$(top_srcdir)/test/archi_intru/BomRoot.hpp \
$(top_srcdir)/test/archi_intru/FlightDate.hpp \
$(top_srcdir)/test/archi_intru/LegDate.hpp \
- $(top_srcdir)/test/archi_intru/SegmentDate.hpp
+ $(top_srcdir)/test/archi_intru/SegmentDate.hpp \
+ $(top_srcdir)/test/archi_intru/TestManager.hpp
archi_intru_cc_sources = \
$(top_srcdir)/test/archi_intru/FacSupervisor.cpp \
- $(top_srcdir)/test/archi_intru/archi.cpp
+ $(top_srcdir)/test/archi_intru/TestManager.cpp
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-12 14:43:50
|
Revision: 319
http://stdair.svn.sourceforge.net/stdair/?rev=319&view=rev
Author: denis_arnaud
Date: 2010-09-12 14:43:43 +0000 (Sun, 12 Sep 2010)
Log Message:
-----------
[Test] Added a test sub-directory for Boost.Intrusive-based architecture.
Modified Paths:
--------------
trunk/stdair/test/archi_intru/archi.cpp
trunk/stdair/test/archi_intru/sources.mk
Added Paths:
-----------
trunk/stdair/test/archi_intru/FacRelationShipRoot.hpp
trunk/stdair/test/archi_intru/FacRelationShipRootAbstract.hpp
trunk/stdair/test/archi_intru/FacSupervisor.cpp
trunk/stdair/test/archi_intru/FacSupervisor.hpp
trunk/stdair/test/archi_intru/RelationShipHolder.hpp
Added: trunk/stdair/test/archi_intru/FacRelationShipRoot.hpp
===================================================================
--- trunk/stdair/test/archi_intru/FacRelationShipRoot.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/FacRelationShipRoot.hpp 2010-09-12 14:43:43 UTC (rev 319)
@@ -0,0 +1,75 @@
+#ifndef __INTRUSIVE_FAC_FACRELATIONSHIPHOLDER_HPP
+#define __INTRUSIVE_FAC_FACRELATIONSHIPHOLDER_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// Boost.Intrusive
+#include <boost/intrusive/list.hpp>
+#include <boost/intrusive/set.hpp>
+// Local
+#include <test/archi_intru/FacSupervisor.hpp>
+#include <test/archi_intru/RelationShipHolder.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+namespace stdair {
+
+ /** Class holding the list of all the relationship objects of a given type. */
+ template <typename FIRST_BOM, typename SECOND_BOM>
+ class FacRelationShipRoot {
+ public:
+ // ///////////////////////////////////////////
+ /** Type definition for a list of relationship holder objects. */
+ typedef bi::list<RelationShipHolder<FIRST_BOM,
+ SECOND_BOM> > RelationShipHolderList_T;
+ /** Type definition for a set of relationship holder objects. */
+ typedef bi::set<RelationShipHolder<FIRST_BOM,
+ SECOND_BOM> > RelationShipHolderSet_T;
+ // ///////////////////////////////////////////
+
+ public:
+ /** Provide the unique instance.
+ <br>The singleton is instantiated when first used.
+ @return FacRelationShipRoot& */
+ static FacRelationShipRoot& instance () {
+ if (_instance == NULL) {
+ _instance = new FacRelationShipRoot ();
+ assert (_instance != NULL);
+
+ FacSupervisor::instance().registerFacRelationShipRoot (_instance);
+ }
+ return *_instance;
+ }
+
+ public:
+ /** Add a child/sibling to the dedicated list of the parent/sibling. */
+ static void addToList (FIRST_BOM& ioFirstBom, SECOND_BOM& ioSecondBom) {
+ instance().addToListImpl (ioFirstBom, ioSecondBom);
+ }
+
+ /** Add a child/sibling to the dedicated list of the parent/sibling. */
+ void addToListImpl (FIRST_BOM& ioFirstBom, SECOND_BOM& ioSecondBom) {
+ _relationShipHolderList.push_back (ioFirstBom, ioSecondBom);
+ _relationShipHolderSet.insert (ioFirstBom, ioSecondBom);
+ }
+
+ private:
+ /** List of relationship holder objects. */
+ RelationShipHolderList_T _relationShipHolderList;
+ /** Set of relationship holder objects. */
+ RelationShipHolderSet_T _relationShipHolderSet;
+
+ private:
+ /** The unique instance. */
+ static FacRelationShipRoot* _instance;
+ };
+
+ // ////////////////////////////////////////////////////////////////////
+ template <typename FIRST_BOM, typename SECOND_BOM>
+ FacRelationShipRoot<FIRST_BOM, SECOND_BOM>*
+ FacRelationShipRoot<FIRST_BOM, SECOND_BOM>::_instance = NULL;
+
+}
+#endif // __INTRUSIVE_FAC_FACRELATIONSHIPHOLDER_HPP
Added: trunk/stdair/test/archi_intru/FacRelationShipRootAbstract.hpp
===================================================================
--- trunk/stdair/test/archi_intru/FacRelationShipRootAbstract.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/FacRelationShipRootAbstract.hpp 2010-09-12 14:43:43 UTC (rev 319)
@@ -0,0 +1,29 @@
+#ifndef __INTRUSIVE_BOM_RELATIONSHIPABSTRACT_HPP
+#define __INTRUSIVE_BOM_RELATIONSHIPABSTRACT_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <iosfwd>
+#include <string>
+// StdAir
+#include <stdair/STDAIR_Types.hpp>
+
+namespace stdair {
+
+ /**
+ * @brief Base class for the relation ship objects
+ */
+ class FacRelationShipRootAbstract {
+ protected:
+ /** Protected Default Constructor to ensure this class is abtract. */
+ FacRelationShipRootAbstract () {}
+ FacRelationShipRootAbstract (const FacRelationShipRootAbstract&) {}
+ public:
+ /** Destructor. */
+ virtual ~FacRelationShipRootAbstract() {}
+ };
+
+}
+#endif // __INTRUSIVE_BOM_RELATIONSHIPABSTRACT_HPP
Added: trunk/stdair/test/archi_intru/FacSupervisor.cpp
===================================================================
--- trunk/stdair/test/archi_intru/FacSupervisor.cpp (rev 0)
+++ trunk/stdair/test/archi_intru/FacSupervisor.cpp 2010-09-12 14:43:43 UTC (rev 319)
@@ -0,0 +1,57 @@
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+// Local
+#include <test/archi_intru/FacRelationShipRootAbstract.hpp>
+#include <test/archi_intru/FacSupervisor.hpp>
+
+namespace stdair {
+
+ FacSupervisor* FacSupervisor::_instance = NULL;
+
+ // //////////////////////////////////////////////////////////////////////
+ FacSupervisor& FacSupervisor::instance() {
+ if (_instance == NULL) {
+ _instance = new FacSupervisor();
+ }
+
+ return *_instance;
+ }
+
+ // //////////////////////////////////////////////////////////////////////
+ FacSupervisor::~FacSupervisor() {
+ cleanFacRelationShipRoots();
+ }
+
+ // //////////////////////////////////////////////////////////////////////
+ void FacSupervisor::
+ registerFacRelationShipRoot (FacRelationShipRootAbstract* ioFacRelationShipRoot_ptr) {
+ _facRelationShipRootPool.push_back (ioFacRelationShipRoot_ptr);
+ }
+
+ // //////////////////////////////////////////////////////////////////////
+ void FacSupervisor::cleanFacRelationShipRoots() {
+ for (FacRelationShipRootPool_T::const_iterator itRS =
+ _facRelationShipRootPool.begin();
+ itRS != _facRelationShipRootPool.end(); ++itRS) {
+ const FacRelationShipRootAbstract* currentFacRelationShipRoot_ptr = *itRS;
+ assert (currentFacRelationShipRoot_ptr != NULL);
+
+ delete currentFacRelationShipRoot_ptr; currentFacRelationShipRoot_ptr = NULL;
+ }
+
+ // Empty the pool of relations ships
+ _facRelationShipRootPool.clear();
+ }
+
+ // //////////////////////////////////////////////////////////////////////
+ void FacSupervisor::cleanAll () {
+ // Clean the static instance of the FacSupervisor.
+ // This in turn will invoke the destructor (~FacSupervisor() method)
+ // of the static instance.
+ delete _instance; _instance = NULL;
+ }
+
+}
Added: trunk/stdair/test/archi_intru/FacSupervisor.hpp
===================================================================
--- trunk/stdair/test/archi_intru/FacSupervisor.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/FacSupervisor.hpp 2010-09-12 14:43:43 UTC (rev 319)
@@ -0,0 +1,57 @@
+#ifndef __INTRUSIVE_SVC_FACSUPERVISOR_HPP
+#define __INTRUSIVE_SVC_FACSUPERVISOR_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <list>
+
+namespace stdair {
+
+ // Forward declarations
+ class FacRelationShipRootAbstract;
+
+ /** Singleton class to register and clean all Factories. */
+ class FacSupervisor {
+ public:
+ /** Define the pool (list) of factories. */
+ typedef std::list<FacRelationShipRootAbstract*> FacRelationShipRootPool_T;
+
+ /** Provide the unique (static) instance of the FacSupervisor object.
+ <br>The singleton is instantiated when first used.
+ @return FacSupervisor& */
+ static FacSupervisor& instance();
+
+ /** Register a newly instantiated concrete relation ship factory. */
+ void registerFacRelationShipRoot (FacRelationShipRootAbstract*);
+
+ /** Clean all registered relation ships. */
+ void cleanFacRelationShipRoots();
+
+ /** Clean the static instance.
+ <br>As the static instance (singleton) is deleted, all the other
+ registered objects will be deleted in turn. */
+ static void cleanAll ();
+
+ /** Destructor.
+ <br>That destructors is applied on the static instance. It then
+ deletes in turn all the other registered objects. */
+ ~FacSupervisor();
+
+
+ protected:
+ /** Default Constructor.
+ <br>This constructor is protected
+ to ensure the singleton pattern. */
+ FacSupervisor () {}
+ FacSupervisor (const FacSupervisor&) {}
+
+ private:
+ /** The unique instance.*/
+ static FacSupervisor* _instance;
+ /** List of instantiated relation ships. */
+ FacRelationShipRootPool_T _facRelationShipRootPool;
+ };
+}
+#endif // __INTRUSIVE_SVC_FACSUPERVISOR_HPP
Added: trunk/stdair/test/archi_intru/RelationShipHolder.hpp
===================================================================
--- trunk/stdair/test/archi_intru/RelationShipHolder.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/RelationShipHolder.hpp 2010-09-12 14:43:43 UTC (rev 319)
@@ -0,0 +1,38 @@
+#ifndef __INTRUSIVE_BOM_RELATIONSHIPHOLDER_HPP
+#define __INTRUSIVE_BOM_RELATIONSHIPHOLDER_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// Boost.Intrusive
+#include <boost/intrusive/list.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+namespace stdair {
+
+ /** Class holding relationship objects between either a parent Bom and its
+ children or a Bom object and its siblings. */
+ template <typename FIRST_BOM, typename SECOND_BOM>
+ class RelationShipHolder {
+ public:
+ // ///////////////////////////////////////////
+ /** Type definition for a list of either children or siblings. */
+ typedef bi::list<SECOND_BOM> SecondBomList_T;
+
+ /** Type definition for a relationship, holding a list of children
+ or siblings for a given parent/Bom object.
+ <br>The list has got only two elements. A list is used only because
+ the pair does not exist (yet?) within boost::intrusive. */
+ typedef bi::list<FIRST_BOM, SecondBomList_T> RelationShip_T;
+ // ///////////////////////////////////////////
+
+ private:
+ /** Relationship, holding a list of children or siblings for a
+ given parent/Bom object. */
+ RelationShip_T _relationShip;
+ };
+
+}
+#endif // __INTRUSIVE_BOM_RELATIONSHIPHOLDER_HPP
Modified: trunk/stdair/test/archi_intru/archi.cpp
===================================================================
--- trunk/stdair/test/archi_intru/archi.cpp 2010-09-12 13:25:36 UTC (rev 318)
+++ trunk/stdair/test/archi_intru/archi.cpp 2010-09-12 14:43:43 UTC (rev 319)
@@ -8,6 +8,7 @@
#include <boost/intrusive/list.hpp>
// Local
#include <test/archi_intru/FlightDate.hpp>
+//#include <test/archi_intru/FacRelationShipRoot.hpp>
/** Alias for the boost::intrusive namespace. */
namespace bi = boost::intrusive;
Modified: trunk/stdair/test/archi_intru/sources.mk
===================================================================
--- trunk/stdair/test/archi_intru/sources.mk 2010-09-12 13:25:36 UTC (rev 318)
+++ trunk/stdair/test/archi_intru/sources.mk 2010-09-12 14:43:43 UTC (rev 319)
@@ -1,8 +1,13 @@
archi_intru_h_sources = \
+ $(top_srcdir)/test/archi_intru/FacSupervisor.hpp \
+ $(top_srcdir)/test/archi_intru/FacRelationShipRoot.hpp \
+ $(top_srcdir)/test/archi_intru/FacRelationShipRootAbstract.hpp \
+ $(top_srcdir)/test/archi_intru/RelationShipHolder.hpp \
$(top_srcdir)/test/archi_intru/BomAbstract.hpp \
$(top_srcdir)/test/archi_intru/BomRoot.hpp \
$(top_srcdir)/test/archi_intru/FlightDate.hpp \
$(top_srcdir)/test/archi_intru/LegDate.hpp \
$(top_srcdir)/test/archi_intru/SegmentDate.hpp
archi_intru_cc_sources = \
+ $(top_srcdir)/test/archi_intru/FacSupervisor.cpp \
$(top_srcdir)/test/archi_intru/archi.cpp
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-12 13:25:43
|
Revision: 318
http://stdair.svn.sourceforge.net/stdair/?rev=318&view=rev
Author: denis_arnaud
Date: 2010-09-12 13:25:36 +0000 (Sun, 12 Sep 2010)
Log Message:
-----------
[Test] Added a test sub-directory for Boost.Intrusive-based architecture.
Modified Paths:
--------------
trunk/stdair/configure.ac
trunk/stdair/test/Makefile.am
Added Paths:
-----------
trunk/stdair/test/archi_intru/
trunk/stdair/test/archi_intru/BomAbstract.hpp
trunk/stdair/test/archi_intru/BomRoot.hpp
trunk/stdair/test/archi_intru/FlightDate.hpp
trunk/stdair/test/archi_intru/LegDate.hpp
trunk/stdair/test/archi_intru/Makefile.am
trunk/stdair/test/archi_intru/SegmentDate.hpp
trunk/stdair/test/archi_intru/archi.cpp
trunk/stdair/test/archi_intru/intrusive.cpp
trunk/stdair/test/archi_intru/sources.mk
Modified: trunk/stdair/configure.ac
===================================================================
--- trunk/stdair/configure.ac 2010-09-10 14:01:28 UTC (rev 317)
+++ trunk/stdair/configure.ac 2010-09-12 13:25:36 UTC (rev 318)
@@ -223,6 +223,7 @@
test/samples/Makefile
test/inheritance/Makefile
test/architecture/Makefile
+ test/archi_intru/Makefile
test/mpl/Makefile
test/mpl/contrib/Makefile
test/stdair/Makefile
Modified: trunk/stdair/test/Makefile.am
===================================================================
--- trunk/stdair/test/Makefile.am 2010-09-10 14:01:28 UTC (rev 317)
+++ trunk/stdair/test/Makefile.am 2010-09-12 13:25:36 UTC (rev 318)
@@ -4,7 +4,7 @@
MAINTAINERCLEANFILES = Makefile.in
##
-SUBDIRS = samples inheritance mpl architecture stdair
+SUBDIRS = samples inheritance mpl architecture archi_intru stdair
EXTRA_DIST =
##
Property changes on: trunk/stdair/test/archi_intru
___________________________________________________________________
Added: svn:ignore
+ .deps
.libs
Makefile.in
Makefile
archi
Added: trunk/stdair/test/archi_intru/BomAbstract.hpp
===================================================================
--- trunk/stdair/test/archi_intru/BomAbstract.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/BomAbstract.hpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,156 @@
+#ifndef __INTRUSIVE_BOM_BOMABSTRACT_HPP
+#define __INTRUSIVE_BOM_BOMABSTRACT_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+#include <iosfwd>
+#include <sstream>
+#include <string>
+// Boost.Intrusive
+#include <boost/functional/hash.hpp>
+
+namespace stdair {
+
+ /** BomAbstract. */
+ class BomAbstract {
+ public:
+ /** Constructors. */
+ BomAbstract (const std::string& iKey) : _key (iKey) {}
+ BomAbstract (const int idx) {
+ std::ostringstream oStr;
+ oStr << idx;
+ _key = oStr.str();
+ }
+ /** Get the key. */
+ const std::string& getKey() const {
+ return _key;
+ }
+
+ protected:
+ /** Default constructors.
+ <br>They are kept private, so as to forbid their use (only the
+ public constructors should be used). */
+ BomAbstract () {}
+ BomAbstract (const BomAbstract&) {}
+
+ public:
+ // Comparison operators
+ friend bool operator< (const BomAbstract& a, const BomAbstract& b) {
+ return a._key < b._key;
+ }
+
+ friend bool operator> (const BomAbstract& a, const BomAbstract& b) {
+ return a._key > b._key;
+ }
+
+ friend bool operator== (const BomAbstract& a, const BomAbstract& b) {
+ return a._key == b._key;
+ }
+
+ friend bool operator!= (const BomAbstract& a, const BomAbstract& b) {
+ return a._key != b._key;
+ }
+
+ // The hash function
+ friend std::size_t hash_value (const BomAbstract& iBom) {
+ return boost::hash<std::string>() (iBom._key);
+ }
+
+ public:
+ // /////////// Display support methods /////////
+ /** Dump a Business Object into an output stream.
+ @param ostream& the output stream. */
+ virtual void toStream (std::ostream& ioOut) const = 0;
+
+ /** Read a Business Object from an input stream.
+ @param istream& the input stream. */
+ virtual void fromStream (std::istream& ioIn) = 0;
+
+ /** Get the serialised version of the Business Object. */
+ virtual std::string toString() const = 0;
+
+ protected:
+ std::string _key;
+ };
+
+}
+
+/**
+ Piece of code given by Nicolai M. Josuttis, Section 13.12.1 "Implementing
+ Output Operators" (p653) of his book "The C++ Standard Library: A Tutorial
+ and Reference", published by Addison-Wesley.
+ */
+template <class charT, class traits>
+inline
+std::basic_ostream<charT, traits>&
+operator<< (std::basic_ostream<charT, traits>& ioOut,
+ const stdair::BomAbstract& iBom) {
+ /**
+ string stream:
+ - with same format
+ - without special field width
+ */
+ std::basic_ostringstream<charT,traits> ostr;
+ ostr.copyfmt (ioOut);
+ ostr.width (0);
+
+ // Fill string stream
+ iBom.toStream (ostr);
+
+ // Print string stream
+ ioOut << ostr.str();
+
+ return ioOut;
+}
+
+/**
+ Piece of code given by Nicolai M. Josuttis, Section 13.12.1 "Implementing
+ Output Operators" (pp655-657) of his book "The C++ Standard Library:
+ A Tutorial and Reference", published by Addison-Wesley.
+ */
+template <class charT, class traits>
+inline
+std::basic_istream<charT, traits>&
+operator>> (std::basic_istream<charT, traits>& ioIn,
+ stdair::BomAbstract& ioBom) {
+ // Fill Bom object with input stream
+ ioBom.fromStream (ioIn);
+ return ioIn;
+}
+
+
+/** The disposer object function. */
+template <typename BOM>
+struct delete_disposer {
+ void operator() (BOM* oBOM_ptr) {
+ delete oBOM_ptr; oBOM_ptr = NULL;
+ }
+};
+
+// These compare (STL strings) keys of BOM objects
+template <typename BOM>
+struct StrExpComp {
+ bool operator() (const std::string& iKey, const BOM& iBom) const {
+ return (iKey < iBom.getKey());
+ }
+
+ bool operator() (const BOM& iBom, const std::string& iKey) const {
+ return (iBom.getKey() < iKey);
+ }
+};
+
+template <typename BOM>
+struct StrExpEqual {
+ bool operator() (const std::string& iKey, const BOM& iBom) const {
+ return (iKey == iBom.getKey());
+ }
+
+ bool operator() (const BOM& iBom, const std::string& iKey) const {
+ return (iBom.getKey() == iKey);
+ }
+};
+
+#endif // __INTRUSIVE_BOM_BOMABSTRACT_HPP
Added: trunk/stdair/test/archi_intru/BomRoot.hpp
===================================================================
--- trunk/stdair/test/archi_intru/BomRoot.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/BomRoot.hpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,39 @@
+#ifndef __INTRUSIVE_BOM_BOMROOT_HPP
+#define __INTRUSIVE_BOM_BOMROOT_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+#include <string>
+//
+#include <test/archi_intru/BomAbstract.hpp>
+
+namespace stdair {
+
+ /** BomRoot. */
+ class BomRoot : public BomAbstract {
+ public:
+ BomRoot (const std::string& iKey) : BomAbstract (iKey) {}
+ BomRoot (const int idx) : BomAbstract (idx) {}
+
+ public:
+ // /////////// Display support methods /////////
+ /** Dump a Business Object into an output stream.
+ @param ostream& the output stream. */
+ void toStream (std::ostream& ioOut) const { ioOut << toString(); }
+
+ /** Read a Business Object from an input stream.
+ @param istream& the input stream. */
+ void fromStream (std::istream& ioIn) { }
+
+ /** Get the serialised version of the Business Object. */
+ std::string toString() const { return describeKey(); }
+
+ /** Get a string describing the key. */
+ const std::string describeKey() const { return _key; }
+ };
+
+}
+#endif // __INTRUSIVE_BOM_BOMROOT_HPP
Added: trunk/stdair/test/archi_intru/FlightDate.hpp
===================================================================
--- trunk/stdair/test/archi_intru/FlightDate.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/FlightDate.hpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,66 @@
+#ifndef __INTRUSIVE_BOM_FLIGHTDATE_HPP
+#define __INTRUSIVE_BOM_FLIGHTDATE_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+#include <string>
+// Boost.Intrusive
+#include <boost/intrusive/list.hpp>
+#include <boost/intrusive/set.hpp>
+// Local
+#include <test/archi_intru/BomAbstract.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+namespace stdair {
+
+ /** FlightDate. */
+ class FlightDate : public BomAbstract {
+ public:
+ /** Constructors. */
+ FlightDate (const std::string& iKey) : BomAbstract (iKey) {}
+ FlightDate (const int idx) : BomAbstract (idx) {}
+ /** Destructor. */
+ ~FlightDate() {}
+ private:
+ /** Default constructors.
+ <br>They are kept private, so as to forbid their use (only the
+ public constructors should be used). */
+ FlightDate () {}
+ FlightDate (const FlightDate&) {}
+
+ public:
+ bi::list_member_hook<> _childListHook;
+ bi::set_member_hook<> _childSetHook;
+
+ public:
+ // /////////// Display support methods /////////
+ /** Dump a Business Object into an output stream.
+ @param ostream& the output stream. */
+ void toStream (std::ostream& ioOut) const { ioOut << toString(); }
+
+ /** Read a Business Object from an input stream.
+ @param istream& the input stream. */
+ void fromStream (std::istream& ioIn) { }
+
+ /** Get the serialised version of the Business Object. */
+ std::string toString() const { return describeKey(); }
+
+ /** Get a string describing the key. */
+ const std::string describeKey() const { return _key; }
+ };
+
+ /** List of child-type FlightDate objects. */
+ typedef bi::member_hook <FlightDate, bi::list_member_hook<>,
+ &FlightDate::_childListHook> FlightDateListMemberOption;
+ typedef bi::list<FlightDate, FlightDateListMemberOption> FlightDateChildList;
+
+ typedef bi::member_hook <FlightDate, bi::set_member_hook<>,
+ &FlightDate::_childSetHook> FlightDateSetMemberOption;
+ typedef bi::set<FlightDate, FlightDateSetMemberOption> FlightDateChildSet;
+}
+#endif // __INTRUSIVE_BOM_FLIGHTDATE_HPP
Added: trunk/stdair/test/archi_intru/LegDate.hpp
===================================================================
--- trunk/stdair/test/archi_intru/LegDate.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/LegDate.hpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,62 @@
+#ifndef __INTRUSIVE_BOM_LEGDATE_HPP
+#define __INTRUSIVE_BOM_LEGDATE_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+#include <string>
+//
+#include <test/archi_intru/BomAbstract.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+namespace stdair {
+
+ /** LegDate. */
+ class LegDate : public BomAbstract {
+ public:
+ LegDate (const std::string& iKey) : BomAbstract (iKey) {}
+ LegDate (const int idx) : BomAbstract (idx) {}
+ private:
+ /** Default constructors.
+ <br>They are kept private, so as to forbid their use (only the
+ public constructors should be used). */
+ LegDate () {}
+ LegDate (const LegDate&) {}
+
+ public:
+ bi::list_member_hook<> _childHook;
+ bi::list_member_hook<> _siblingHook;
+
+ public:
+ // /////////// Display support methods /////////
+ /** Dump a Business Object into an output stream.
+ @param ostream& the output stream. */
+ void toStream (std::ostream& ioOut) const { ioOut << toString(); }
+
+ /** Read a Business Object from an input stream.
+ @param istream& the input stream. */
+ void fromStream (std::istream& ioIn) { }
+
+ /** Get the serialised version of the Business Object. */
+ std::string toString() const { return describeKey(); }
+
+ /** Get a string describing the key. */
+ const std::string describeKey() const { return _key; }
+ };
+
+ /** List of child-type LegDate objects. */
+ typedef bi::member_hook <LegDate, bi::list_member_hook<>,
+ &LegDate::_childHook> LegDateChildMemberOption;
+ typedef bi::list<LegDate, LegDateChildMemberOption> LegDateChildren;
+
+ /** List of sibling-type LegDate objects. */
+ typedef bi::member_hook <LegDate, bi::list_member_hook<>,
+ &LegDate::_siblingHook> LegDateSiblingMemberOption;
+ typedef bi::list<LegDate, LegDateSiblingMemberOption> LegDateSiblings;
+
+}
+#endif // __INTRUSIVE_BOM_LEGDATE_HPP
Added: trunk/stdair/test/archi_intru/Makefile.am
===================================================================
--- trunk/stdair/test/archi_intru/Makefile.am (rev 0)
+++ trunk/stdair/test/archi_intru/Makefile.am 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,21 @@
+## test/archi_intru sub-directory
+include $(top_srcdir)/Makefile.common
+include $(srcdir)/sources.mk
+
+MAINTAINERCLEANFILES = Makefile.in
+
+##
+SUBDIRS =
+
+EXTRA_DIST =
+##
+
+check_PROGRAMS = archi
+#TESTS = $(check_PROGRAMS)
+TESTS =
+XFAIL_TESTS = #IndexBuildingTestSuite
+
+archi_SOURCES = $(archi_intru_h_sources) $(archi_intru_cc_sources)
+archi_CXXFLAGS = $(BOOST_CFLAGS)
+archi_LDFLAGS = $(BOOST_LIBS)
+archi_LDADD =
Added: trunk/stdair/test/archi_intru/SegmentDate.hpp
===================================================================
--- trunk/stdair/test/archi_intru/SegmentDate.hpp (rev 0)
+++ trunk/stdair/test/archi_intru/SegmentDate.hpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,64 @@
+#ifndef __INTRUSIVE_BOM_SEGMENTDATE_HPP
+#define __INTRUSIVE_BOM_SEGMENTDATE_HPP
+
+// //////////////////////////////////////////////////////////////////////
+// Import section
+// //////////////////////////////////////////////////////////////////////
+// STL
+#include <cassert>
+#include <string>
+//
+#include <test/archi_intru/BomAbstract.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+namespace stdair {
+
+ /** SegmentDate. */
+ class SegmentDate : public BomAbstract {
+ public:
+ SegmentDate (const std::string& iKey) : BomAbstract (iKey) {}
+ SegmentDate (const int idx) : BomAbstract (idx) {}
+ private:
+ /** Default constructors.
+ <br>They are kept private, so as to forbid their use (only the
+ public constructors should be used). */
+ SegmentDate () {}
+ SegmentDate (const SegmentDate&) {}
+
+ public:
+ bi::list_member_hook<> _childHook;
+ bi::list_member_hook<> _siblingHook;
+
+ public:
+ // /////////// Display support methods /////////
+ /** Dump a Business Object into an output stream.
+ @param ostream& the output stream. */
+ void toStream (std::ostream& ioOut) const { ioOut << toString(); }
+
+ /** Read a Business Object from an input stream.
+ @param istream& the input stream. */
+ void fromStream (std::istream& ioIn) { }
+
+ /** Get the serialised version of the Business Object. */
+ std::string toString() const { return describeKey(); }
+
+ /** Get a string describing the key. */
+ const std::string describeKey() const { return _key; }
+ };
+
+ /** List of child-type SegmentDate objects. */
+ typedef bi::member_hook <SegmentDate, bi::list_member_hook<>,
+ &SegmentDate::_childHook> SegmentDateChildMemberOption;
+ typedef bi::list<SegmentDate,
+ SegmentDateChildMemberOption> SegmentDateChildren;
+
+ /** List of sibling-type SegmentDate objects. */
+ typedef bi::member_hook <SegmentDate, bi::list_member_hook<>,
+ &SegmentDate::_siblingHook> SegmentDateSiblingMemberOption;
+ typedef bi::list<SegmentDate,
+ SegmentDateSiblingMemberOption> SegmentDateSiblings;
+
+}
+#endif // __INTRUSIVE_BOM_SEGMENTDATE_HPP
Added: trunk/stdair/test/archi_intru/archi.cpp
===================================================================
--- trunk/stdair/test/archi_intru/archi.cpp (rev 0)
+++ trunk/stdair/test/archi_intru/archi.cpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,150 @@
+// STL
+#include <cassert>
+#include <iostream>
+#include <sstream>
+#include <string>
+#include <vector>
+// Boost
+#include <boost/intrusive/list.hpp>
+// Local
+#include <test/archi_intru/FlightDate.hpp>
+
+/** Alias for the boost::intrusive namespace. */
+namespace bi = boost::intrusive;
+
+
+// Optimized search functions
+stdair::FlightDate* getFromSet(const std::string& iKey,
+ stdair::FlightDateChildSet& ioFlightDateChildSet) {
+ stdair::FlightDate* oFlightDate_ptr = NULL;
+ stdair::FlightDateChildSet::iterator itFlight =
+ ioFlightDateChildSet.find (iKey, StrExpComp<stdair::FlightDate>());
+ if (itFlight == ioFlightDateChildSet.end()) {
+ return oFlightDate_ptr;
+ }
+ oFlightDate_ptr = &*itFlight;
+ return oFlightDate_ptr;
+}
+
+// /////////////////////////// M A I N /////////////////////////
+/** Main.
+ <br>Run with the following command:
+ <tt>make check && ((./bom && echo "Success") || echo "Failure")</tt>
+ <br>To run the program with Valgrind, type:
+ <tt>libtool --mode=execute valgrind --leak-check=full ./bom</tt>
+*/
+int main (int argc, char* argv[]) {
+
+ //
+ typedef std::vector<stdair::FlightDate*> FlightDateVector_T;
+
+ // Standard STL container
+ FlightDateVector_T lFlightDateVector;
+
+ // Create several FlightDate objects, each one with a different value
+ for (int idx = 0; idx < 100; ++idx) {
+ stdair::FlightDate* lFlightDate_ptr = new stdair::FlightDate (idx);
+ assert (lFlightDate_ptr != NULL);
+
+ lFlightDateVector.push_back (lFlightDate_ptr);
+ }
+
+ // (Boost) Intrusive container
+ stdair::FlightDateChildList lFlightDateChildList;
+ stdair::FlightDateChildSet lFlightDateChildSet;
+
+ // Now insert them in the same order as in vector in the member hook list
+ for (FlightDateVector_T::iterator itFlight (lFlightDateVector.begin()),
+ itend (lFlightDateVector.end()); itFlight != itend; ++itFlight) {
+ stdair::FlightDate* lFlightDate_ptr = *itFlight;
+ assert (lFlightDate_ptr != NULL);
+
+ lFlightDateChildList.push_back (*lFlightDate_ptr);
+ lFlightDateChildSet.insert (*lFlightDate_ptr);
+ }
+
+ // DEBUG
+ /*
+ std::cout << "Size of the Boost.Intrusive list of FlightDate objects: "
+ << lFlightDateChildList.size() << std::endl;
+ std::cout << "Size of the Boost.Intrusive set of FlightDate objects: "
+ << lFlightDateChildSet.size() << std::endl;
+ */
+
+ // Now test lists
+ {
+ stdair::FlightDateChildList::iterator mit (lFlightDateChildList.begin()),
+ mitend (lFlightDateChildList.end());
+ FlightDateVector_T::iterator itFlight (lFlightDateVector.begin()),
+ itend (lFlightDateVector.end());
+
+ // Test the objects inserted in the member hook list
+ for (itFlight = lFlightDateVector.begin();
+ itFlight != itend; ++itFlight, ++mit) {
+ stdair::FlightDate* lFlightDate_ptr = *itFlight;
+ assert (lFlightDate_ptr != NULL);
+
+ if (&*mit != lFlightDate_ptr) {
+ return 1;
+ }
+ }
+ }
+
+ // Now, test iterator_to()
+ {
+ stdair::FlightDateChildList::iterator itChild(lFlightDateChildList.begin());
+ for (int idx = 0; idx < 100; ++idx, ++itChild) {
+ stdair::FlightDate* lFlightDate_ptr = lFlightDateVector.at(idx);
+ assert (lFlightDate_ptr != NULL);
+
+ if (lFlightDateChildList.iterator_to (*lFlightDate_ptr) != itChild ||
+ stdair::FlightDateChildList::s_iterator_to(*lFlightDate_ptr) != itChild) {
+ return 1;
+ }
+ }
+ }
+
+ // Now, test sets
+ {
+ stdair::FlightDateChildSet::iterator itChild (lFlightDateChildSet.begin()),
+ itChildEnd (lFlightDateChildSet.end());
+ for (; itChild != itChildEnd; ++itChild) {
+ const stdair::FlightDate& lFlightDate = *itChild;
+
+ const std::string& lKey = lFlightDate.getKey();
+ stdair::FlightDate* retrievedFlightDate_ptr =
+ getFromSet (lKey, lFlightDateChildSet);
+
+ // DEBUG
+ /*
+ std::cout << "Key = '" << lKey << "', itFD = "
+ << &lFlightDate << ", retrieved: " << retrievedFlightDate_ptr
+ << std::endl;
+ */
+
+ if (retrievedFlightDate_ptr == NULL ||
+ lFlightDateChildSet.iterator_to (lFlightDate) != itChild ||
+ lFlightDateChildSet.iterator_to (*retrievedFlightDate_ptr) != itChild ||
+ stdair::FlightDateChildSet::s_iterator_to (lFlightDate) != itChild ||
+ stdair::FlightDateChildSet::s_iterator_to(*retrievedFlightDate_ptr) != itChild) {
+ return 1;
+ }
+ }
+ }
+
+
+ /** Some memory cleaning.
+ <br>Note: the FlightDate objects cannot be simply deleted (with the
+ delete opearator).
+ <br>See also, for more details:
+ - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/usage.html#intrusive.usage.usage_lifetime
+ - http://www.boost.org/doc/libs/1_44_0/doc/html/intrusive/erasing_and_disposing.html
+ <br>First, clear simply all the Boost.Intrusive containers but one. Then,
+ clear the last Boost.Intrusive container while deleting the corresponding
+ hooked objects.
+ */
+ lFlightDateChildSet.clear();
+ lFlightDateChildList.clear_and_dispose(delete_disposer<stdair::FlightDate>());
+
+ return 0;
+}
Added: trunk/stdair/test/archi_intru/intrusive.cpp
===================================================================
--- trunk/stdair/test/archi_intru/intrusive.cpp (rev 0)
+++ trunk/stdair/test/archi_intru/intrusive.cpp 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,71 @@
+#include <boost/intrusive/list.hpp>
+#include <vector>
+
+using namespace boost::intrusive;
+
+/** Object to be inserted in the intrusive list. */
+class MyClass : public list_base_hook<> {
+ int _int;
+public:
+ list_member_hook<> member_hook_;
+
+ MyClass (int i) : _int (i) {}
+};
+
+//Define a list that will store MyClass using the base hook
+typedef list<MyClass> BaseList;
+
+//Define a list that will store MyClass using the member hook
+typedef member_hook
+<MyClass, list_member_hook<>, &MyClass::member_hook_> MemberOption;
+typedef list<MyClass, MemberOption> MemberList;
+
+
+// /////////////////////// M A I N /////////////////////
+int main() {
+
+ typedef std::vector<MyClass>::iterator VectIt;
+ typedef std::vector<MyClass>::reverse_iterator VectRit;
+
+ //Create several MyClass objects, each one with a different value
+ std::vector<MyClass> values;
+ for (int i = 0; i < 100; ++i) {
+ values.push_back (MyClass(i));
+ }
+
+ BaseList baselist;
+ MemberList memberlist;
+
+ //Now insert them in the reverse order in the base hook list
+ for (VectIt it(values.begin()), itend(values.end()); it != itend; ++it) {
+ baselist.push_front (*it);
+ }
+
+ //Now insert them in the same order as in vector in the member hook list
+ for (VectIt it(values.begin()), itend(values.end()); it != itend; ++it) {
+ memberlist.push_back (*it);
+ }
+
+ //Now test lists
+ {
+ BaseList::reverse_iterator rbit(baselist.rbegin()), rbitend(baselist.rend());
+ MemberList::iterator mit (memberlist.begin()), mitend(memberlist.end());
+ VectIt it (values.begin()), itend (values.end());
+
+ //Test the objects inserted in the base hook list
+ for (; it != itend; ++it, ++rbit) {
+ if (&*rbit != &*it) {
+ return 1;
+ }
+ }
+
+ //Test the objects inserted in the member hook list
+ for (it = values.begin(); it != itend; ++it, ++mit) {
+ if (&*mit != &*it) {
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
Added: trunk/stdair/test/archi_intru/sources.mk
===================================================================
--- trunk/stdair/test/archi_intru/sources.mk (rev 0)
+++ trunk/stdair/test/archi_intru/sources.mk 2010-09-12 13:25:36 UTC (rev 318)
@@ -0,0 +1,8 @@
+archi_intru_h_sources = \
+ $(top_srcdir)/test/archi_intru/BomAbstract.hpp \
+ $(top_srcdir)/test/archi_intru/BomRoot.hpp \
+ $(top_srcdir)/test/archi_intru/FlightDate.hpp \
+ $(top_srcdir)/test/archi_intru/LegDate.hpp \
+ $(top_srcdir)/test/archi_intru/SegmentDate.hpp
+archi_intru_cc_sources = \
+ $(top_srcdir)/test/archi_intru/archi.cpp
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qua...@us...> - 2010-09-10 14:01:35
|
Revision: 317
http://stdair.svn.sourceforge.net/stdair/?rev=317&view=rev
Author: quannaus
Date: 2010-09-10 14:01:28 +0000 (Fri, 10 Sep 2010)
Log Message:
-----------
[test] added a demand and a schedule file.
Modified Paths:
--------------
trunk/stdair/test/samples/schedule06.csv
Added Paths:
-----------
trunk/stdair/test/samples/demand09.csv
trunk/stdair/test/samples/schedule07.csv
Copied: trunk/stdair/test/samples/demand09.csv (from rev 299, trunk/stdair/test/samples/demand01.csv)
===================================================================
--- trunk/stdair/test/samples/demand09.csv (rev 0)
+++ trunk/stdair/test/samples/demand09.csv 2010-09-10 14:01:28 UTC (rev 317)
@@ -0,0 +1 @@
+2009-01-01; SEA; DAY; Y; SEA:0.7, DAY:0.2, row:0.1; DF:0.1, DN:0.3, IF:0.4, IN:0.2; RO:0.6, RI:0.2, OW:0.2; 0:0.1, 1:0.1, 2:0.15, 3:0.15, 4:0.15, 5:0.35; P:0.01, G:0.05, S:0.15, M:0.3, N:0.49; 06:0, 07:0.1, 09:0.3, 17:0.4, 19:0.8, 20:0.95, 22:1; 100:0, 500:0.8, 2000:1; 15:0, 60:1; 330:0, 40:0.2, 20:0.6, 1:1; N, 10000.0, 1.0;
\ No newline at end of file
Modified: trunk/stdair/test/samples/schedule06.csv
===================================================================
--- trunk/stdair/test/samples/schedule06.csv 2010-09-08 17:18:46 UTC (rev 316)
+++ trunk/stdair/test/samples/schedule06.csv 2010-09-10 14:01:28 UTC (rev 317)
@@ -1,252 +1,252 @@
-AD; 1; 2009-01-01; 2009-06-30; 1000000; SEA; MSP; 07:07; 10:30; 03:23; Y; 100; 0; Y; YHKMVQ;
-AD; 2; 2009-01-01; 2009-06-30; 1000000; OLM; MSP; 07:04; 10:30; 03:26; Y; 100; 0; Y; YHKMVQ;
-AD; 3; 2009-01-01; 2009-06-30; 1000000; GEG; MSP; 07:31; 10:30; 02:59; Y; 100; 0; Y; YHKMVQ;
-AD; 4; 2009-01-01; 2009-06-30; 1000000; FCA; MSP; 07:43; 10:30; 02:47; Y; 100; 0; Y; YHKMVQ;
-AD; 5; 2009-01-01; 2009-06-30; 1000000; EUG; MSP; 06:57; 10:30; 03:33; Y; 100; 0; Y; YHKMVQ;
-AD; 6; 2009-01-01; 2009-06-30; 1000000; BOI; MSP; 07:36; 10:30; 02:54; Y; 100; 0; Y; YHKMVQ;
-AD; 7; 2009-01-01; 2009-06-30; 1000000; RWL; MSP; 08:18; 10:30; 02:12; Y; 100; 0; Y; YHKMVQ;
-AD; 8; 2009-01-01; 2009-06-30; 1000000; SLC; MSP; 07:52; 10:30; 02:38; Y; 100; 0; Y; YHKMVQ;
-AD; 9; 2009-01-01; 2009-06-30; 1000000; SFO; MSP; 06:46; 10:30; 03:44; Y; 100; 0; Y; YHKMVQ;
-AD; 10; 2009-01-01; 2009-06-30; 1000000; FAT; MSP; 06:56; 10:30; 03:34; Y; 100; 0; Y; YHKMVQ;
-AD; 11; 2009-01-01; 2009-06-30; 1000000; DEN; MSP; 08:27; 10:30; 02:03; Y; 100; 0; Y; YHKMVQ;
-AD; 12; 2009-01-01; 2009-06-30; 1000000; LAS; MSP; 07:18; 10:30; 03:12; Y; 100; 0; Y; YHKMVQ;
-AD; 13; 2009-01-01; 2009-06-30; 1000000; ABQ; MSP; 07:54; 10:30; 02:36; Y; 100; 0; Y; YHKMVQ;
-AD; 14; 2009-01-01; 2009-06-30; 1000000; BUR; MSP; 06:52; 10:30; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 15; 2009-01-01; 2009-06-30; 1000000; PHX; MSP; 07:17; 10:30; 03:13; Y; 100; 0; Y; YHKMVQ;
-AD; 16; 2009-01-01; 2009-06-30; 1000000; LAX; MSP; 06:52; 10:30; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 17; 2009-01-01; 2009-06-30; 1000000; SAN; MSP; 06:52; 10:30; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 18; 2009-01-01; 2009-06-30; 1000000; TUS; MSP; 07:17; 10:30; 03:13; Y; 100; 0; Y; YHKMVQ;
-AD; 19; 2009-01-01; 2009-06-30; 1000000; AUS; MSP; 07:48; 10:30; 02:42; Y; 100; 0; Y; YHKMVQ;
-AD; 20; 2009-01-01; 2009-06-30; 1000000; IAH; MSP; 07:46; 10:30; 02:44; Y; 100; 0; Y; YHKMVQ;
-AD; 21; 2009-01-01; 2009-06-30; 1000000; DFW; MSP; 08:08; 10:30; 02:22; Y; 100; 0; Y; YHKMVQ;
-AD; 22; 2009-01-01; 2009-06-30; 1000000; SEA; MSP; 10:37; 14:00; 03:23; Y; 100; 0; Y; YHKMVQ;
-AD; 23; 2009-01-01; 2009-06-30; 1000000; OLM; MSP; 10:34; 14:00; 03:26; Y; 100; 0; Y; YHKMVQ;
-AD; 24; 2009-01-01; 2009-06-30; 1000000; GEG; MSP; 11:01; 14:00; 02:59; Y; 100; 0; Y; YHKMVQ;
-AD; 25; 2009-01-01; 2009-06-30; 1000000; FCA; MSP; 11:13; 14:00; 02:47; Y; 100; 0; Y; YHKMVQ;
-AD; 26; 2009-01-01; 2009-06-30; 1000000; EUG; MSP; 10:27; 14:00; 03:33; Y; 100; 0; Y; YHKMVQ;
-AD; 27; 2009-01-01; 2009-06-30; 1000000; BOI; MSP; 11:06; 14:00; 02:54; Y; 100; 0; Y; YHKMVQ;
-AD; 28; 2009-01-01; 2009-06-30; 1000000; RWL; MSP; 11:48; 14:00; 02:12; Y; 100; 0; Y; YHKMVQ;
-AD; 29; 2009-01-01; 2009-06-30; 1000000; SLC; MSP; 11:22; 14:00; 02:38; Y; 100; 0; Y; YHKMVQ;
-AD; 30; 2009-01-01; 2009-06-30; 1000000; SFO; MSP; 10:16; 14:00; 03:44; Y; 100; 0; Y; YHKMVQ;
-AD; 31; 2009-01-01; 2009-06-30; 1000000; FAT; MSP; 10:26; 14:00; 03:34; Y; 100; 0; Y; YHKMVQ;
-AD; 32; 2009-01-01; 2009-06-30; 1000000; DEN; MSP; 11:57; 14:00; 02:03; Y; 100; 0; Y; YHKMVQ;
-AD; 33; 2009-01-01; 2009-06-30; 1000000; LAS; MSP; 10:48; 14:00; 03:12; Y; 100; 0; Y; YHKMVQ;
-AD; 34; 2009-01-01; 2009-06-30; 1000000; ABQ; MSP; 11:24; 14:00; 02:36; Y; 100; 0; Y; YHKMVQ;
-AD; 35; 2009-01-01; 2009-06-30; 1000000; BUR; MSP; 10:22; 14:00; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 36; 2009-01-01; 2009-06-30; 1000000; PHX; MSP; 10:47; 14:00; 03:13; Y; 100; 0; Y; YHKMVQ;
-AD; 37; 2009-01-01; 2009-06-30; 1000000; LAX; MSP; 10:22; 14:00; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 38; 2009-01-01; 2009-06-30; 1000000; SAN; MSP; 10:22; 14:00; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 39; 2009-01-01; 2009-06-30; 1000000; TUS; MSP; 10:47; 14:00; 03:13; Y; 100; 0; Y; YHKMVQ;
-AD; 40; 2009-01-01; 2009-06-30; 1000000; AUS; MSP; 11:18; 14:00; 02:42; Y; 100; 0; Y; YHKMVQ;
-AD; 41; 2009-01-01; 2009-06-30; 1000000; IAH; MSP; 11:16; 14:00; 02:44; Y; 100; 0; Y; YHKMVQ;
-AD; 42; 2009-01-01; 2009-06-30; 1000000; DFW; MSP; 11:38; 14:00; 02:22; Y; 100; 0; Y; YHKMVQ;
-AD; 43; 2009-01-01; 2009-06-30; 1000000; SEA; MSP; 14:07; 17:30; 03:23; Y; 100; 0; Y; YHKMVQ;
-AD; 44; 2009-01-01; 2009-06-30; 1000000; OLM; MSP; 14:04; 17:30; 03:26; Y; 100; 0; Y; YHKMVQ;
-AD; 45; 2009-01-01; 2009-06-30; 1000000; GEG; MSP; 14:31; 17:30; 02:59; Y; 100; 0; Y; YHKMVQ;
-AD; 46; 2009-01-01; 2009-06-30; 1000000; FCA; MSP; 14:43; 17:30; 02:47; Y; 100; 0; Y; YHKMVQ;
-AD; 47; 2009-01-01; 2009-06-30; 1000000; EUG; MSP; 13:57; 17:30; 03:33; Y; 100; 0; Y; YHKMVQ;
-AD; 48; 2009-01-01; 2009-06-30; 1000000; BOI; MSP; 14:36; 17:30; 02:54; Y; 100; 0; Y; YHKMVQ;
-AD; 49; 2009-01-01; 2009-06-30; 1000000; RWL; MSP; 15:18; 17:30; 02:12; Y; 100; 0; Y; YHKMVQ;
-AD; 50; 2009-01-01; 2009-06-30; 1000000; SLC; MSP; 14:52; 17:30; 02:38; Y; 100; 0; Y; YHKMVQ;
-AD; 51; 2009-01-01; 2009-06-30; 1000000; SFO; MSP; 13:46; 17:30; 03:44; Y; 100; 0; Y; YHKMVQ;
-AD; 52; 2009-01-01; 2009-06-30; 1000000; FAT; MSP; 13:56; 17:30; 03:34; Y; 100; 0; Y; YHKMVQ;
-AD; 53; 2009-01-01; 2009-06-30; 1000000; DEN; MSP; 15:27; 17:30; 02:03; Y; 100; 0; Y; YHKMVQ;
-AD; 54; 2009-01-01; 2009-06-30; 1000000; LAS; MSP; 14:18; 17:30; 03:12; Y; 100; 0; Y; YHKMVQ;
-AD; 55; 2009-01-01; 2009-06-30; 1000000; ABQ; MSP; 14:54; 17:30; 02:36; Y; 100; 0; Y; YHKMVQ;
-AD; 56; 2009-01-01; 2009-06-30; 1000000; BUR; MSP; 13:52; 17:30; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 57; 2009-01-01; 2009-06-30; 1000000; PHX; MSP; 14:17; 17:30; 03:13; Y; 100; 0; Y; YHKMVQ;
-AD; 58; 2009-01-01; 2009-06-30; 1000000; LAX; MSP; 13:52; 17:30; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 59; 2009-01-01; 2009-06-30; 1000000; SAN; MSP; 13:52; 17:30; 03:38; Y; 100; 0; Y; YHKMVQ;
-AD; 60; 2009-01-01; 2009-06-30; 1000000; TUS; MSP; 14:17; 17:30; 03:13; Y; 100; 0; Y; YHKMVQ;
-AD; 61; 2009-01-01; 2009-06-30; 1000000; AUS; MSP; 14:48; 17:30; 02:42; Y; 100; 0; Y; YHKMVQ;
-AD; 62; 2009-01-01; 2009-06-30; 1000000; IAH; MSP; 14:46; 17:30; 02:44; Y; 100; 0; Y; YHKMVQ;
-AD; 63; 2009-01-01; 2009-06-30; 1000000; DFW; MSP; 15:08; 17:30; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 64; 2009-01-01; 2009-06-30; 1000000; SEA; DFW; 06:35; 10:30; 03:55; Y; 100; 0; Y; YHKMVQ;
-AL; 65; 2009-01-01; 2009-06-30; 1000000; OLM; DFW; 06:40; 10:30; 03:50; Y; 100; 0; Y; YHKMVQ;
-AL; 66; 2009-01-01; 2009-06-30; 1000000; GEG; DFW; 06:56; 10:30; 03:34; Y; 100; 0; Y; YHKMVQ;
-AL; 67; 2009-01-01; 2009-06-30; 1000000; FCA; DFW; 07:07; 10:30; 03:23; Y; 100; 0; Y; YHKMVQ;
-AL; 68; 2009-01-01; 2009-06-30; 1000000; EUG; DFW; 06:41; 10:30; 03:49; Y; 100; 0; Y; YHKMVQ;
-AL; 69; 2009-01-01; 2009-06-30; 1000000; BOI; DFW; 07:18; 10:30; 03:12; Y; 100; 0; Y; YHKMVQ;
-AL; 70; 2009-01-01; 2009-06-30; 1000000; RWL; DFW; 08:10; 10:30; 02:20; Y; 100; 0; Y; YHKMVQ;
-AL; 71; 2009-01-01; 2009-06-30; 1000000; SLC; DFW; 07:52; 10:30; 02:38; Y; 100; 0; Y; YHKMVQ;
-AL; 72; 2009-01-01; 2009-06-30; 1000000; SFO; DFW; 06:56; 10:30; 03:34; Y; 100; 0; Y; YHKMVQ;
-AL; 73; 2009-01-01; 2009-06-30; 1000000; FAT; DFW; 07:14; 10:30; 03:16; Y; 100; 0; Y; YHKMVQ;
-AL; 74; 2009-01-01; 2009-06-30; 1000000; DEN; DFW; 08:31; 10:30; 01:59; Y; 100; 0; Y; YHKMVQ;
-AL; 75; 2009-01-01; 2009-06-30; 1000000; LAS; DFW; 07:42; 10:30; 02:48; Y; 100; 0; Y; YHKMVQ;
-AL; 76; 2009-01-01; 2009-06-30; 1000000; ABQ; DFW; 08:38; 10:30; 01:52; Y; 100; 0; Y; YHKMVQ;
-AL; 77; 2009-01-01; 2009-06-30; 1000000; BUR; DFW; 07:21; 10:30; 03:09; Y; 100; 0; Y; YHKMVQ;
-AL; 78; 2009-01-01; 2009-06-30; 1000000; PHX; DFW; 08:09; 10:30; 02:21; Y; 100; 0; Y; YHKMVQ;
-AL; 79; 2009-01-01; 2009-06-30; 1000000; LAX; DFW; 07:26; 10:30; 03:04; Y; 100; 0; Y; YHKMVQ;
-AL; 80; 2009-01-01; 2009-06-30; 1000000; SAN; DFW; 07:29; 10:30; 03:01; Y; 100; 0; Y; YHKMVQ;
-AL; 81; 2009-01-01; 2009-06-30; 1000000; TUS; DFW; 08:11; 10:30; 02:19; Y; 100; 0; Y; YHKMVQ;
-AL; 82; 2009-01-01; 2009-06-30; 1000000; AUS; DFW; 09:24; 10:30; 01:06; Y; 100; 0; Y; YHKMVQ;
-AL; 83; 2009-01-01; 2009-06-30; 1000000; IAH; DFW; 09:16; 10:30; 01:14; Y; 100; 0; Y; YHKMVQ;
-AL; 84; 2009-01-01; 2009-06-30; 1000000; MSP; DFW; 08:08; 10:30; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 85; 2009-01-01; 2009-06-30; 1000000; SEA; DFW; 10:05; 14:00; 03:55; Y; 100; 0; Y; YHKMVQ;
-AL; 86; 2009-01-01; 2009-06-30; 1000000; OLM; DFW; 10:10; 14:00; 03:50; Y; 100; 0; Y; YHKMVQ;
-AL; 87; 2009-01-01; 2009-06-30; 1000000; GEG; DFW; 10:26; 14:00; 03:34; Y; 100; 0; Y; YHKMVQ;
-AL; 88; 2009-01-01; 2009-06-30; 1000000; FCA; DFW; 10:37; 14:00; 03:23; Y; 100; 0; Y; YHKMVQ;
-AL; 89; 2009-01-01; 2009-06-30; 1000000; EUG; DFW; 10:11; 14:00; 03:49; Y; 100; 0; Y; YHKMVQ;
-AL; 90; 2009-01-01; 2009-06-30; 1000000; BOI; DFW; 10:48; 14:00; 03:12; Y; 100; 0; Y; YHKMVQ;
-AL; 91; 2009-01-01; 2009-06-30; 1000000; RWL; DFW; 11:40; 14:00; 02:20; Y; 100; 0; Y; YHKMVQ;
-AL; 92; 2009-01-01; 2009-06-30; 1000000; SLC; DFW; 11:22; 14:00; 02:38; Y; 100; 0; Y; YHKMVQ;
-AL; 93; 2009-01-01; 2009-06-30; 1000000; SFO; DFW; 10:26; 14:00; 03:34; Y; 100; 0; Y; YHKMVQ;
-AL; 94; 2009-01-01; 2009-06-30; 1000000; FAT; DFW; 10:44; 14:00; 03:16; Y; 100; 0; Y; YHKMVQ;
-AL; 95; 2009-01-01; 2009-06-30; 1000000; DEN; DFW; 12:01; 14:00; 01:59; Y; 100; 0; Y; YHKMVQ;
-AL; 96; 2009-01-01; 2009-06-30; 1000000; LAS; DFW; 11:12; 14:00; 02:48; Y; 100; 0; Y; YHKMVQ;
-AL; 97; 2009-01-01; 2009-06-30; 1000000; ABQ; DFW; 12:08; 14:00; 01:52; Y; 100; 0; Y; YHKMVQ;
-AL; 98; 2009-01-01; 2009-06-30; 1000000; BUR; DFW; 10:51; 14:00; 03:09; Y; 100; 0; Y; YHKMVQ;
-AL; 99; 2009-01-01; 2009-06-30; 1000000; PHX; DFW; 11:39; 14:00; 02:21; Y; 100; 0; Y; YHKMVQ;
-AL; 100; 2009-01-01; 2009-06-30; 1000000; LAX; DFW; 10:56; 14:00; 03:04; Y; 100; 0; Y; YHKMVQ;
-AL; 101; 2009-01-01; 2009-06-30; 1000000; SAN; DFW; 10:59; 14:00; 03:01; Y; 100; 0; Y; YHKMVQ;
-AL; 102; 2009-01-01; 2009-06-30; 1000000; TUS; DFW; 11:41; 14:00; 02:19; Y; 100; 0; Y; YHKMVQ;
-AL; 103; 2009-01-01; 2009-06-30; 1000000; AUS; DFW; 12:54; 14:00; 01:06; Y; 100; 0; Y; YHKMVQ;
-AL; 104; 2009-01-01; 2009-06-30; 1000000; IAH; DFW; 12:46; 14:00; 01:14; Y; 100; 0; Y; YHKMVQ;
-AL; 105; 2009-01-01; 2009-06-30; 1000000; MSP; DFW; 11:38; 14:00; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 106; 2009-01-01; 2009-06-30; 1000000; SEA; DFW; 13:35; 17:30; 03:55; Y; 100; 0; Y; YHKMVQ;
-AL; 107; 2009-01-01; 2009-06-30; 1000000; OLM; DFW; 13:40; 17:30; 03:50; Y; 100; 0; Y; YHKMVQ;
-AL; 108; 2009-01-01; 2009-06-30; 1000000; GEG; DFW; 13:56; 17:30; 03:34; Y; 100; 0; Y; YHKMVQ;
-AL; 109; 2009-01-01; 2009-06-30; 1000000; FCA; DFW; 14:07; 17:30; 03:23; Y; 100; 0; Y; YHKMVQ;
-AL; 110; 2009-01-01; 2009-06-30; 1000000; EUG; DFW; 13:41; 17:30; 03:49; Y; 100; 0; Y; YHKMVQ;
-AL; 111; 2009-01-01; 2009-06-30; 1000000; BOI; DFW; 14:18; 17:30; 03:12; Y; 100; 0; Y; YHKMVQ;
-AL; 112; 2009-01-01; 2009-06-30; 1000000; RWL; DFW; 15:10; 17:30; 02:20; Y; 100; 0; Y; YHKMVQ;
-AL; 113; 2009-01-01; 2009-06-30; 1000000; SLC; DFW; 14:52; 17:30; 02:38; Y; 100; 0; Y; YHKMVQ;
-AL; 114; 2009-01-01; 2009-06-30; 1000000; SFO; DFW; 13:56; 17:30; 03:34; Y; 100; 0; Y; YHKMVQ;
-AL; 115; 2009-01-01; 2009-06-30; 1000000; FAT; DFW; 14:14; 17:30; 03:16; Y; 100; 0; Y; YHKMVQ;
-AL; 116; 2009-01-01; 2009-06-30; 1000000; DEN; DFW; 15:31; 17:30; 01:59; Y; 100; 0; Y; YHKMVQ;
-AL; 117; 2009-01-01; 2009-06-30; 1000000; LAS; DFW; 14:42; 17:30; 02:48; Y; 100; 0; Y; YHKMVQ;
-AL; 118; 2009-01-01; 2009-06-30; 1000000; ABQ; DFW; 15:38; 17:30; 01:52; Y; 100; 0; Y; YHKMVQ;
-AL; 119; 2009-01-01; 2009-06-30; 1000000; BUR; DFW; 14:21; 17:30; 03:09; Y; 100; 0; Y; YHKMVQ;
-AL; 120; 2009-01-01; 2009-06-30; 1000000; PHX; DFW; 15:09; 17:30; 02:21; Y; 100; 0; Y; YHKMVQ;
-AL; 121; 2009-01-01; 2009-06-30; 1000000; LAX; DFW; 14:26; 17:30; 03:04; Y; 100; 0; Y; YHKMVQ;
-AL; 122; 2009-01-01; 2009-06-30; 1000000; SAN; DFW; 14:29; 17:30; 03:01; Y; 100; 0; Y; YHKMVQ;
-AL; 123; 2009-01-01; 2009-06-30; 1000000; TUS; DFW; 15:11; 17:30; 02:19; Y; 100; 0; Y; YHKMVQ;
-AL; 124; 2009-01-01; 2009-06-30; 1000000; AUS; DFW; 16:24; 17:30; 01:06; Y; 100; 0; Y; YHKMVQ;
-AL; 125; 2009-01-01; 2009-06-30; 1000000; IAH; DFW; 16:16; 17:30; 01:14; Y; 100; 0; Y; YHKMVQ;
-AL; 126; 2009-01-01; 2009-06-30; 1000000; MSP; DFW; 15:08; 17:30; 02:22; Y; 100; 0; Y; YHKMVQ;
-AD; 127; 2009-01-01; 2009-06-30; 1000000; MSP; BTV; 11:30; 14:05; 02:35; Y; 100; 0; Y; YHKMVQ;
-AD; 128; 2009-01-01; 2009-06-30; 1000000; MSP; UIN; 11:30; 12:55; 01:25; Y; 100; 0; Y; YHKMVQ;
-AD; 129; 2009-01-01; 2009-06-30; 1000000; MSP; MKE; 11:30; 12:47; 01:17; Y; 100; 0; Y; YHKMVQ;
-AD; 130; 2009-01-01; 2009-06-30; 1000000; MSP; DTW; 11:30; 13:13; 01:43; Y; 100; 0; Y; YHKMVQ;
-AD; 131; 2009-01-01; 2009-06-30; 1000000; MSP; BOS; 11:30; 14:19; 02:49; Y; 100; 0; Y; YHKMVQ;
-AD; 132; 2009-01-01; 2009-06-30; 1000000; MSP; EWR; 11:30; 14:07; 02:37; Y; 100; 0; Y; YHKMVQ;
-AD; 133; 2009-01-01; 2009-06-30; 1000000; MSP; CLE; 11:30; 13:23; 01:53; Y; 100; 0; Y; YHKMVQ;
-AD; 134; 2009-01-01; 2009-06-30; 1000000; MSP; ORD; 11:30; 12:53; 01:23; Y; 100; 0; Y; YHKMVQ;
-AD; 135; 2009-01-01; 2009-06-30; 1000000; MSP; DAY; 11:30; 13:20; 01:50; Y; 100; 0; Y; YHKMVQ;
-AD; 136; 2009-01-01; 2009-06-30; 1000000; MSP; PIT; 11:30; 13:36; 02:06; Y; 100; 0; Y; YHKMVQ;
-AD; 137; 2009-01-01; 2009-06-30; 1000000; MSP; PHL; 11:30; 14:03; 02:33; Y; 100; 0; Y; YHKMVQ;
-AD; 138; 2009-01-01; 2009-06-30; 1000000; MSP; CMI; 11:30; 13:05; 01:35; Y; 100; 0; Y; YHKMVQ;
-AD; 139; 2009-01-01; 2009-06-30; 1000000; MSP; IAD; 11:30; 13:56; 02:26; Y; 100; 0; Y; YHKMVQ;
-AD; 140; 2009-01-01; 2009-06-30; 1000000; MSP; CVG; 11:30; 13:20; 01:50; Y; 100; 0; Y; YHKMVQ;
-AD; 141; 2009-01-01; 2009-06-30; 1000000; MSP; ORF; 11:30; 14:11; 02:41; Y; 100; 0; Y; YHKMVQ;
-AD; 142; 2009-01-01; 2009-06-30; 1000000; MSP; ATL; 11:30; 13:55; 02:25; Y; 100; 0; Y; YHKMVQ;
-AD; 143; 2009-01-01; 2009-06-30; 1000000; MSP; MSY; 11:30; 14:03; 02:33; Y; 100; 0; Y; YHKMVQ;
-AD; 144; 2009-01-01; 2009-06-30; 1000000; MSP; STL; 11:30; 13:05; 01:35; Y; 100; 0; Y; YHKMVQ;
-AD; 145; 2009-01-01; 2009-06-30; 1000000; MSP; TPA; 11:30; 14:41; 03:11; Y; 100; 0; Y; YHKMVQ;
-AD; 146; 2009-01-01; 2009-06-30; 1000000; MSP; FOE; 11:30; 13:09; 01:39; Y; 100; 0; Y; YHKMVQ;
-AD; 147; 2009-01-01; 2009-06-30; 1000000; MSP; DFW; 11:30; 13:52; 02:22; Y; 100; 0; Y; YHKMVQ;
-AD; 148; 2009-01-01; 2009-06-30; 1000000; MSP; BTV; 15:00; 17:35; 02:35; Y; 100; 0; Y; YHKMVQ;
-AD; 149; 2009-01-01; 2009-06-30; 1000000; MSP; UIN; 15:00; 16:25; 01:25; Y; 100; 0; Y; YHKMVQ;
-AD; 150; 2009-01-01; 2009-06-30; 1000000; MSP; MKE; 15:00; 16:17; 01:17; Y; 100; 0; Y; YHKMVQ;
-AD; 151; 2009-01-01; 2009-06-30; 1000000; MSP; DTW; 15:00; 16:43; 01:43; Y; 100; 0; Y; YHKMVQ;
-AD; 152; 2009-01-01; 2009-06-30; 1000000; MSP; BOS; 15:00; 17:49; 02:49; Y; 100; 0; Y; YHKMVQ;
-AD; 153; 2009-01-01; 2009-06-30; 1000000; MSP; EWR; 15:00; 17:37; 02:37; Y; 100; 0; Y; YHKMVQ;
-AD; 154; 2009-01-01; 2009-06-30; 1000000; MSP; CLE; 15:00; 16:53; 01:53; Y; 100; 0; Y; YHKMVQ;
-AD; 155; 2009-01-01; 2009-06-30; 1000000; MSP; ORD; 15:00; 16:23; 01:23; Y; 100; 0; Y; YHKMVQ;
-AD; 156; 2009-01-01; 2009-06-30; 1000000; MSP; DAY; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
-AD; 157; 2009-01-01; 2009-06-30; 1000000; MSP; PIT; 15:00; 17:06; 02:06; Y; 100; 0; Y; YHKMVQ;
-AD; 158; 2009-01-01; 2009-06-30; 1000000; MSP; PHL; 15:00; 17:33; 02:33; Y; 100; 0; Y; YHKMVQ;
-AD; 159; 2009-01-01; 2009-06-30; 1000000; MSP; CMI; 15:00; 16:35; 01:35; Y; 100; 0; Y; YHKMVQ;
-AD; 160; 2009-01-01; 2009-06-30; 1000000; MSP; IAD; 15:00; 17:26; 02:26; Y; 100; 0; Y; YHKMVQ;
-AD; 161; 2009-01-01; 2009-06-30; 1000000; MSP; CVG; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
-AD; 162; 2009-01-01; 2009-06-30; 1000000; MSP; ORF; 15:00; 17:41; 02:41; Y; 100; 0; Y; YHKMVQ;
-AD; 163; 2009-01-01; 2009-06-30; 1000000; MSP; ATL; 15:00; 17:25; 02:25; Y; 100; 0; Y; YHKMVQ;
-AD; 164; 2009-01-01; 2009-06-30; 1000000; MSP; MSY; 15:00; 17:33; 02:33; Y; 100; 0; Y; YHKMVQ;
-AD; 165; 2009-01-01; 2009-06-30; 1000000; MSP; STL; 15:00; 16:35; 01:35; Y; 100; 0; Y; YHKMVQ;
-AD; 166; 2009-01-01; 2009-06-30; 1000000; MSP; TPA; 15:00; 18:11; 03:11; Y; 100; 0; Y; YHKMVQ;
-AD; 167; 2009-01-01; 2009-06-30; 1000000; MSP; FOE; 15:00; 16:39; 01:39; Y; 100; 0; Y; YHKMVQ;
-AD; 168; 2009-01-01; 2009-06-30; 1000000; MSP; DFW; 15:00; 17:22; 02:22; Y; 100; 0; Y; YHKMVQ;
-AD; 169; 2009-01-01; 2009-06-30; 1000000; MSP; BTV; 18:30; 21:05; 02:35; Y; 100; 0; Y; YHKMVQ;
-AD; 170; 2009-01-01; 2009-06-30; 1000000; MSP; UIN; 18:30; 19:55; 01:25; Y; 100; 0; Y; YHKMVQ;
-AD; 171; 2009-01-01; 2009-06-30; 1000000; MSP; MKE; 18:30; 19:47; 01:17; Y; 100; 0; Y; YHKMVQ;
-AD; 172; 2009-01-01; 2009-06-30; 1000000; MSP; DTW; 18:30; 20:13; 01:43; Y; 100; 0; Y; YHKMVQ;
-AD; 173; 2009-01-01; 2009-06-30; 1000000; MSP; BOS; 18:30; 21:19; 02:49; Y; 100; 0; Y; YHKMVQ;
-AD; 174; 2009-01-01; 2009-06-30; 1000000; MSP; EWR; 18:30; 21:07; 02:37; Y; 100; 0; Y; YHKMVQ;
-AD; 175; 2009-01-01; 2009-06-30; 1000000; MSP; CLE; 18:30; 20:23; 01:53; Y; 100; 0; Y; YHKMVQ;
-AD; 176; 2009-01-01; 2009-06-30; 1000000; MSP; ORD; 18:30; 19:53; 01:23; Y; 100; 0; Y; YHKMVQ;
-AD; 177; 2009-01-01; 2009-06-30; 1000000; MSP; DAY; 18:30; 20:20; 01:50; Y; 100; 0; Y; YHKMVQ;
-AD; 178; 2009-01-01; 2009-06-30; 1000000; MSP; PIT; 18:30; 20:36; 02:06; Y; 100; 0; Y; YHKMVQ;
-AD; 179; 2009-01-01; 2009-06-30; 1000000; MSP; PHL; 18:30; 21:03; 02:33; Y; 100; 0; Y; YHKMVQ;
-AD; 180; 2009-01-01; 2009-06-30; 1000000; MSP; CMI; 18:30; 20:05; 01:35; Y; 100; 0; Y; YHKMVQ;
-AD; 181; 2009-01-01; 2009-06-30; 1000000; MSP; IAD; 18:30; 20:56; 02:26; Y; 100; 0; Y; YHKMVQ;
-AD; 182; 2009-01-01; 2009-06-30; 1000000; MSP; CVG; 18:30; 20:20; 01:50; Y; 100; 0; Y; YHKMVQ;
-AD; 183; 2009-01-01; 2009-06-30; 1000000; MSP; ORF; 18:30; 21:11; 02:41; Y; 100; 0; Y; YHKMVQ;
-AD; 184; 2009-01-01; 2009-06-30; 1000000; MSP; ATL; 18:30; 20:55; 02:25; Y; 100; 0; Y; YHKMVQ;
-AD; 185; 2009-01-01; 2009-06-30; 1000000; MSP; MSY; 18:30; 21:03; 02:33; Y; 100; 0; Y; YHKMVQ;
-AD; 186; 2009-01-01; 2009-06-30; 1000000; MSP; STL; 18:30; 20:05; 01:35; Y; 100; 0; Y; YHKMVQ;
-AD; 187; 2009-01-01; 2009-06-30; 1000000; MSP; TPA; 18:30; 21:41; 03:11; Y; 100; 0; Y; YHKMVQ;
-AD; 188; 2009-01-01; 2009-06-30; 1000000; MSP; FOE; 18:30; 20:09; 01:39; Y; 100; 0; Y; YHKMVQ;
-AD; 189; 2009-01-01; 2009-06-30; 1000000; MSP; DFW; 18:30; 20:52; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 190; 2009-01-01; 2009-06-30; 1000000; DFW; BTV; 11:30; 15:06; 03:36; Y; 100; 0; Y; YHKMVQ;
-AL; 191; 2009-01-01; 2009-06-30; 1000000; DFW; UIN; 11:30; 13:20; 01:50; Y; 100; 0; Y; YHKMVQ;
-AL; 192; 2009-01-01; 2009-06-30; 1000000; DFW; MKE; 11:30; 13:52; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 193; 2009-01-01; 2009-06-30; 1000000; DFW; DTW; 11:30; 14:09; 02:39; Y; 100; 0; Y; YHKMVQ;
-AL; 194; 2009-01-01; 2009-06-30; 1000000; DFW; BOS; 11:30; 15:08; 03:38; Y; 100; 0; Y; YHKMVQ;
-AL; 195; 2009-01-01; 2009-06-30; 1000000; DFW; EWR; 11:30; 14:52; 03:22; Y; 100; 0; Y; YHKMVQ;
-AL; 196; 2009-01-01; 2009-06-30; 1000000; DFW; CLE; 11:30; 14:11; 02:41; Y; 100; 0; Y; YHKMVQ;
-AL; 197; 2009-01-01; 2009-06-30; 1000000; DFW; ORD; 11:30; 13:46; 02:16; Y; 100; 0; Y; YHKMVQ;
-AL; 198; 2009-01-01; 2009-06-30; 1000000; DFW; DAY; 11:30; 13:47; 02:17; Y; 100; 0; Y; YHKMVQ;
-AL; 199; 2009-01-01; 2009-06-30; 1000000; DFW; PIT; 11:30; 14:16; 02:46; Y; 100; 0; Y; YHKMVQ;
-AL; 200; 2009-01-01; 2009-06-30; 1000000; DFW; PHL; 11:30; 14:44; 03:14; Y; 100; 0; Y; YHKMVQ;
-AL; 201; 2009-01-01; 2009-06-30; 1000000; DFW; CMI; 11:30; 13:33; 02:03; Y; 100; 0; Y; YHKMVQ;
-AL; 202; 2009-01-01; 2009-06-30; 1000000; DFW; IAD; 11:30; 14:30; 03:00; Y; 100; 0; Y; YHKMVQ;
-AL; 203; 2009-01-01; 2009-06-30; 1000000; DFW; CVG; 11:30; 13:47; 02:17; Y; 100; 0; Y; YHKMVQ;
-AL; 204; 2009-01-01; 2009-06-30; 1000000; DFW; ORF; 11:30; 14:33; 03:03; Y; 100; 0; Y; YHKMVQ;
-AL; 205; 2009-01-01; 2009-06-30; 1000000; DFW; ATL; 11:30; 13:39; 02:09; Y; 100; 0; Y; YHKMVQ;
-AL; 206; 2009-01-01; 2009-06-30; 1000000; DFW; MSY; 11:30; 12:57; 01:27; Y; 100; 0; Y; YHKMVQ;
-AL; 207; 2009-01-01; 2009-06-30; 1000000; DFW; STL; 11:30; 13:16; 01:46; Y; 100; 0; Y; YHKMVQ;
-AL; 208; 2009-01-01; 2009-06-30; 1000000; DFW; TPA; 11:30; 14:01; 02:31; Y; 100; 0; Y; YHKMVQ;
-AL; 209; 2009-01-01; 2009-06-30; 1000000; DFW; FOE; 11:30; 13:02; 01:32; Y; 100; 0; Y; YHKMVQ;
-AL; 210; 2009-01-01; 2009-06-30; 1000000; DFW; MSP; 11:30; 13:52; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 211; 2009-01-01; 2009-06-30; 1000000; DFW; BTV; 15:00; 18:36; 03:36; Y; 100; 0; Y; YHKMVQ;
-AL; 212; 2009-01-01; 2009-06-30; 1000000; DFW; UIN; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
-AL; 213; 2009-01-01; 2009-06-30; 1000000; DFW; MKE; 15:00; 17:22; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 214; 2009-01-01; 2009-06-30; 1000000; DFW; DTW; 15:00; 17:39; 02:39; Y; 100; 0; Y; YHKMVQ;
-AL; 215; 2009-01-01; 2009-06-30; 1000000; DFW; BOS; 15:00; 18:38; 03:38; Y; 100; 0; Y; YHKMVQ;
-AL; 216; 2009-01-01; 2009-06-30; 1000000; DFW; EWR; 15:00; 18:22; 03:22; Y; 100; 0; Y; YHKMVQ;
-AL; 217; 2009-01-01; 2009-06-30; 1000000; DFW; CLE; 15:00; 17:41; 02:41; Y; 100; 0; Y; YHKMVQ;
-AL; 218; 2009-01-01; 2009-06-30; 1000000; DFW; ORD; 15:00; 17:16; 02:16; Y; 100; 0; Y; YHKMVQ;
-AL; 219; 2009-01-01; 2009-06-30; 1000000; DFW; DAY; 15:00; 17:17; 02:17; Y; 100; 0; Y; YHKMVQ;
-AL; 220; 2009-01-01; 2009-06-30; 1000000; DFW; PIT; 15:00; 17:46; 02:46; Y; 100; 0; Y; YHKMVQ;
-AL; 221; 2009-01-01; 2009-06-30; 1000000; DFW; PHL; 15:00; 18:14; 03:14; Y; 100; 0; Y; YHKMVQ;
-AL; 222; 2009-01-01; 2009-06-30; 1000000; DFW; CMI; 15:00; 17:03; 02:03; Y; 100; 0; Y; YHKMVQ;
-AL; 223; 2009-01-01; 2009-06-30; 1000000; DFW; IAD; 15:00; 18:00; 03:00; Y; 100; 0; Y; YHKMVQ;
-AL; 224; 2009-01-01; 2009-06-30; 1000000; DFW; CVG; 15:00; 17:17; 02:17; Y; 100; 0; Y; YHKMVQ;
-AL; 225; 2009-01-01; 2009-06-30; 1000000; DFW; ORF; 15:00; 18:03; 03:03; Y; 100; 0; Y; YHKMVQ;
-AL; 226; 2009-01-01; 2009-06-30; 1000000; DFW; ATL; 15:00; 17:09; 02:09; Y; 100; 0; Y; YHKMVQ;
-AL; 227; 2009-01-01; 2009-06-30; 1000000; DFW; MSY; 15:00; 16:27; 01:27; Y; 100; 0; Y; YHKMVQ;
-AL; 228; 2009-01-01; 2009-06-30; 1000000; DFW; STL; 15:00; 16:46; 01:46; Y; 100; 0; Y; YHKMVQ;
-AL; 229; 2009-01-01; 2009-06-30; 1000000; DFW; TPA; 15:00; 17:31; 02:31; Y; 100; 0; Y; YHKMVQ;
-AL; 230; 2009-01-01; 2009-06-30; 1000000; DFW; FOE; 15:00; 16:32; 01:32; Y; 100; 0; Y; YHKMVQ;
-AL; 231; 2009-01-01; 2009-06-30; 1000000; DFW; MSP; 15:00; 17:22; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 232; 2009-01-01; 2009-06-30; 1000000; DFW; BTV; 18:30; 22:06; 03:36; Y; 100; 0; Y; YHKMVQ;
-AL; 233; 2009-01-01; 2009-06-30; 1000000; DFW; UIN; 18:30; 20:20; 01:50; Y; 100; 0; Y; YHKMVQ;
-AL; 234; 2009-01-01; 2009-06-30; 1000000; DFW; MKE; 18:30; 20:52; 02:22; Y; 100; 0; Y; YHKMVQ;
-AL; 235; 2009-01-01; 2009-06-30; 1000000; DFW; DTW; 18:30; 21:09; 02:39; Y; 100; 0; Y; YHKMVQ;
-AL; 236; 2009-01-01; 2009-06-30; 1000000; DFW; BOS; 18:30; 22:08; 03:38; Y; 100; 0; Y; YHKMVQ;
-AL; 237; 2009-01-01; 2009-06-30; 1000000; DFW; EWR; 18:30; 21:52; 03:22; Y; 100; 0; Y; YHKMVQ;
-AL; 238; 2009-01-01; 2009-06-30; 1000000; DFW; CLE; 18:30; 21:11; 02:41; Y; 100; 0; Y; YHKMVQ;
-AL; 239; 2009-01-01; 2009-06-30; 1000000; DFW; ORD; 18:30; 20:46; 02:16; Y; 100; 0; Y; YHKMVQ;
-AL; 240; 2009-01-01; 2009-06-30; 1000000; DFW; DAY; 18:30; 20:47; 02:17; Y; 100; 0; Y; YHKMVQ;
-AL; 241; 2009-01-01; 2009-06-30; 1000000; DFW; PIT; 18:30; 21:16; 02:46; Y; 100; 0; Y; YHKMVQ;
-AL; 242; 2009-01-01; 2009-06-30; 1000000; DFW; PHL; 18:30; 21:44; 03:14; Y; 100; 0; Y; YHKMVQ;
-AL; 243; 2009-01-01; 2009-06-30; 1000000; DFW; CMI; 18:30; 20:33; 02:03; Y; 100; 0; Y; YHKMVQ;
-AL; 244; 2009-01-01; 2009-06-30; 1000000; DFW; IAD; 18:30; 21:30; 03:00; Y; 100; 0; Y; YHKMVQ;
-AL; 245; 2009-01-01; 2009-06-30; 1000000; DFW; CVG; 18:30; 20:47; 02:17; Y; 100; 0; Y; YHKMVQ;
-AL; 246; 2009-01-01; 2009-06-30; 1000000; DFW; ORF; 18:30; 21:33; 03:03; Y; 100; 0; Y; YHKMVQ;
-AL; 247; 2009-01-01; 2009-06-30; 1000000; DFW; ATL; 18:30; 20:39; 02:09; Y; 100; 0; Y; YHKMVQ;
-AL; 248; 2009-01-01; 2009-06-30; 1000000; DFW; MSY; 18:30; 19:57; 01:27; Y; 100; 0; Y; YHKMVQ;
-AL; 249; 2009-01-01; 2009-06-30; 1000000; DFW; STL; 18:30; 20:16; 01:46; Y; 100; 0; Y; YHKMVQ;
-AL; 250; 2009-01-01; 2009-06-30; 1000000; DFW; TPA; 18:30; 21:01; 02:31; Y; 100; 0; Y; YHKMVQ;
-AL; 251; 2009-01-01; 2009-06-30; 1000000; DFW; FOE; 18:30; 20:02; 01:32; Y; 100; 0; Y; YHKMVQ;
-AL; 252; 2009-01-01; 2009-06-30; 1000000; DFW; MSP; 18:30; 20:52; 02:22; Y; 100; 0; Y; YHKMVQ;
\ No newline at end of file
+AD; 1; 2009-01-01; 2009-01-07; 1111111; SEA; MSP; 07:07; 10:30; 03:23; Y; 100; 0; Y; YHKMVQ;
+AD; 2; 2009-01-01; 2009-01-07; 1111111; OLM; MSP; 07:04; 10:30; 03:26; Y; 100; 0; Y; YHKMVQ;
+AD; 3; 2009-01-01; 2009-01-07; 1111111; GEG; MSP; 07:31; 10:30; 02:59; Y; 100; 0; Y; YHKMVQ;
+AD; 4; 2009-01-01; 2009-01-07; 1111111; FCA; MSP; 07:43; 10:30; 02:47; Y; 100; 0; Y; YHKMVQ;
+AD; 5; 2009-01-01; 2009-01-07; 1111111; EUG; MSP; 06:57; 10:30; 03:33; Y; 100; 0; Y; YHKMVQ;
+AD; 6; 2009-01-01; 2009-01-07; 1111111; BOI; MSP; 07:36; 10:30; 02:54; Y; 100; 0; Y; YHKMVQ;
+AD; 7; 2009-01-01; 2009-01-07; 1111111; RWL; MSP; 08:18; 10:30; 02:12; Y; 100; 0; Y; YHKMVQ;
+AD; 8; 2009-01-01; 2009-01-07; 1111111; SLC; MSP; 07:52; 10:30; 02:38; Y; 100; 0; Y; YHKMVQ;
+AD; 9; 2009-01-01; 2009-01-07; 1111111; SFO; MSP; 06:46; 10:30; 03:44; Y; 100; 0; Y; YHKMVQ;
+AD; 10; 2009-01-01; 2009-01-07; 1111111; FAT; MSP; 06:56; 10:30; 03:34; Y; 100; 0; Y; YHKMVQ;
+AD; 11; 2009-01-01; 2009-01-07; 1111111; DEN; MSP; 08:27; 10:30; 02:03; Y; 100; 0; Y; YHKMVQ;
+AD; 12; 2009-01-01; 2009-01-07; 1111111; LAS; MSP; 07:18; 10:30; 03:12; Y; 100; 0; Y; YHKMVQ;
+AD; 13; 2009-01-01; 2009-01-07; 1111111; ABQ; MSP; 07:54; 10:30; 02:36; Y; 100; 0; Y; YHKMVQ;
+AD; 14; 2009-01-01; 2009-01-07; 1111111; BUR; MSP; 06:52; 10:30; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 15; 2009-01-01; 2009-01-07; 1111111; PHX; MSP; 07:17; 10:30; 03:13; Y; 100; 0; Y; YHKMVQ;
+AD; 16; 2009-01-01; 2009-01-07; 1111111; LAX; MSP; 06:52; 10:30; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 17; 2009-01-01; 2009-01-07; 1111111; SAN; MSP; 06:52; 10:30; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 18; 2009-01-01; 2009-01-07; 1111111; TUS; MSP; 07:17; 10:30; 03:13; Y; 100; 0; Y; YHKMVQ;
+AD; 19; 2009-01-01; 2009-01-07; 1111111; AUS; MSP; 07:48; 10:30; 02:42; Y; 100; 0; Y; YHKMVQ;
+AD; 20; 2009-01-01; 2009-01-07; 1111111; IAH; MSP; 07:46; 10:30; 02:44; Y; 100; 0; Y; YHKMVQ;
+AD; 21; 2009-01-01; 2009-01-07; 1111111; DFW; MSP; 08:08; 10:30; 02:22; Y; 100; 0; Y; YHKMVQ;
+AD; 22; 2009-01-01; 2009-01-07; 1111111; SEA; MSP; 10:37; 14:00; 03:23; Y; 100; 0; Y; YHKMVQ;
+AD; 23; 2009-01-01; 2009-01-07; 1111111; OLM; MSP; 10:34; 14:00; 03:26; Y; 100; 0; Y; YHKMVQ;
+AD; 24; 2009-01-01; 2009-01-07; 1111111; GEG; MSP; 11:01; 14:00; 02:59; Y; 100; 0; Y; YHKMVQ;
+AD; 25; 2009-01-01; 2009-01-07; 1111111; FCA; MSP; 11:13; 14:00; 02:47; Y; 100; 0; Y; YHKMVQ;
+AD; 26; 2009-01-01; 2009-01-07; 1111111; EUG; MSP; 10:27; 14:00; 03:33; Y; 100; 0; Y; YHKMVQ;
+AD; 27; 2009-01-01; 2009-01-07; 1111111; BOI; MSP; 11:06; 14:00; 02:54; Y; 100; 0; Y; YHKMVQ;
+AD; 28; 2009-01-01; 2009-01-07; 1111111; RWL; MSP; 11:48; 14:00; 02:12; Y; 100; 0; Y; YHKMVQ;
+AD; 29; 2009-01-01; 2009-01-07; 1111111; SLC; MSP; 11:22; 14:00; 02:38; Y; 100; 0; Y; YHKMVQ;
+AD; 30; 2009-01-01; 2009-01-07; 1111111; SFO; MSP; 10:16; 14:00; 03:44; Y; 100; 0; Y; YHKMVQ;
+AD; 31; 2009-01-01; 2009-01-07; 1111111; FAT; MSP; 10:26; 14:00; 03:34; Y; 100; 0; Y; YHKMVQ;
+AD; 32; 2009-01-01; 2009-01-07; 1111111; DEN; MSP; 11:57; 14:00; 02:03; Y; 100; 0; Y; YHKMVQ;
+AD; 33; 2009-01-01; 2009-01-07; 1111111; LAS; MSP; 10:48; 14:00; 03:12; Y; 100; 0; Y; YHKMVQ;
+AD; 34; 2009-01-01; 2009-01-07; 1111111; ABQ; MSP; 11:24; 14:00; 02:36; Y; 100; 0; Y; YHKMVQ;
+AD; 35; 2009-01-01; 2009-01-07; 1111111; BUR; MSP; 10:22; 14:00; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 36; 2009-01-01; 2009-01-07; 1111111; PHX; MSP; 10:47; 14:00; 03:13; Y; 100; 0; Y; YHKMVQ;
+AD; 37; 2009-01-01; 2009-01-07; 1111111; LAX; MSP; 10:22; 14:00; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 38; 2009-01-01; 2009-01-07; 1111111; SAN; MSP; 10:22; 14:00; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 39; 2009-01-01; 2009-01-07; 1111111; TUS; MSP; 10:47; 14:00; 03:13; Y; 100; 0; Y; YHKMVQ;
+AD; 40; 2009-01-01; 2009-01-07; 1111111; AUS; MSP; 11:18; 14:00; 02:42; Y; 100; 0; Y; YHKMVQ;
+AD; 41; 2009-01-01; 2009-01-07; 1111111; IAH; MSP; 11:16; 14:00; 02:44; Y; 100; 0; Y; YHKMVQ;
+AD; 42; 2009-01-01; 2009-01-07; 1111111; DFW; MSP; 11:38; 14:00; 02:22; Y; 100; 0; Y; YHKMVQ;
+AD; 43; 2009-01-01; 2009-01-07; 1111111; SEA; MSP; 14:07; 17:30; 03:23; Y; 100; 0; Y; YHKMVQ;
+AD; 44; 2009-01-01; 2009-01-07; 1111111; OLM; MSP; 14:04; 17:30; 03:26; Y; 100; 0; Y; YHKMVQ;
+AD; 45; 2009-01-01; 2009-01-07; 1111111; GEG; MSP; 14:31; 17:30; 02:59; Y; 100; 0; Y; YHKMVQ;
+AD; 46; 2009-01-01; 2009-01-07; 1111111; FCA; MSP; 14:43; 17:30; 02:47; Y; 100; 0; Y; YHKMVQ;
+AD; 47; 2009-01-01; 2009-01-07; 1111111; EUG; MSP; 13:57; 17:30; 03:33; Y; 100; 0; Y; YHKMVQ;
+AD; 48; 2009-01-01; 2009-01-07; 1111111; BOI; MSP; 14:36; 17:30; 02:54; Y; 100; 0; Y; YHKMVQ;
+AD; 49; 2009-01-01; 2009-01-07; 1111111; RWL; MSP; 15:18; 17:30; 02:12; Y; 100; 0; Y; YHKMVQ;
+AD; 50; 2009-01-01; 2009-01-07; 1111111; SLC; MSP; 14:52; 17:30; 02:38; Y; 100; 0; Y; YHKMVQ;
+AD; 51; 2009-01-01; 2009-01-07; 1111111; SFO; MSP; 13:46; 17:30; 03:44; Y; 100; 0; Y; YHKMVQ;
+AD; 52; 2009-01-01; 2009-01-07; 1111111; FAT; MSP; 13:56; 17:30; 03:34; Y; 100; 0; Y; YHKMVQ;
+AD; 53; 2009-01-01; 2009-01-07; 1111111; DEN; MSP; 15:27; 17:30; 02:03; Y; 100; 0; Y; YHKMVQ;
+AD; 54; 2009-01-01; 2009-01-07; 1111111; LAS; MSP; 14:18; 17:30; 03:12; Y; 100; 0; Y; YHKMVQ;
+AD; 55; 2009-01-01; 2009-01-07; 1111111; ABQ; MSP; 14:54; 17:30; 02:36; Y; 100; 0; Y; YHKMVQ;
+AD; 56; 2009-01-01; 2009-01-07; 1111111; BUR; MSP; 13:52; 17:30; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 57; 2009-01-01; 2009-01-07; 1111111; PHX; MSP; 14:17; 17:30; 03:13; Y; 100; 0; Y; YHKMVQ;
+AD; 58; 2009-01-01; 2009-01-07; 1111111; LAX; MSP; 13:52; 17:30; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 59; 2009-01-01; 2009-01-07; 1111111; SAN; MSP; 13:52; 17:30; 03:38; Y; 100; 0; Y; YHKMVQ;
+AD; 60; 2009-01-01; 2009-01-07; 1111111; TUS; MSP; 14:17; 17:30; 03:13; Y; 100; 0; Y; YHKMVQ;
+AD; 61; 2009-01-01; 2009-01-07; 1111111; AUS; MSP; 14:48; 17:30; 02:42; Y; 100; 0; Y; YHKMVQ;
+AD; 62; 2009-01-01; 2009-01-07; 1111111; IAH; MSP; 14:46; 17:30; 02:44; Y; 100; 0; Y; YHKMVQ;
+AD; 63; 2009-01-01; 2009-01-07; 1111111; DFW; MSP; 15:08; 17:30; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 64; 2009-01-01; 2009-01-07; 1111111; SEA; DFW; 06:35; 10:30; 03:55; Y; 100; 0; Y; YHKMVQ;
+AL; 65; 2009-01-01; 2009-01-07; 1111111; OLM; DFW; 06:40; 10:30; 03:50; Y; 100; 0; Y; YHKMVQ;
+AL; 66; 2009-01-01; 2009-01-07; 1111111; GEG; DFW; 06:56; 10:30; 03:34; Y; 100; 0; Y; YHKMVQ;
+AL; 67; 2009-01-01; 2009-01-07; 1111111; FCA; DFW; 07:07; 10:30; 03:23; Y; 100; 0; Y; YHKMVQ;
+AL; 68; 2009-01-01; 2009-01-07; 1111111; EUG; DFW; 06:41; 10:30; 03:49; Y; 100; 0; Y; YHKMVQ;
+AL; 69; 2009-01-01; 2009-01-07; 1111111; BOI; DFW; 07:18; 10:30; 03:12; Y; 100; 0; Y; YHKMVQ;
+AL; 70; 2009-01-01; 2009-01-07; 1111111; RWL; DFW; 08:10; 10:30; 02:20; Y; 100; 0; Y; YHKMVQ;
+AL; 71; 2009-01-01; 2009-01-07; 1111111; SLC; DFW; 07:52; 10:30; 02:38; Y; 100; 0; Y; YHKMVQ;
+AL; 72; 2009-01-01; 2009-01-07; 1111111; SFO; DFW; 06:56; 10:30; 03:34; Y; 100; 0; Y; YHKMVQ;
+AL; 73; 2009-01-01; 2009-01-07; 1111111; FAT; DFW; 07:14; 10:30; 03:16; Y; 100; 0; Y; YHKMVQ;
+AL; 74; 2009-01-01; 2009-01-07; 1111111; DEN; DFW; 08:31; 10:30; 01:59; Y; 100; 0; Y; YHKMVQ;
+AL; 75; 2009-01-01; 2009-01-07; 1111111; LAS; DFW; 07:42; 10:30; 02:48; Y; 100; 0; Y; YHKMVQ;
+AL; 76; 2009-01-01; 2009-01-07; 1111111; ABQ; DFW; 08:38; 10:30; 01:52; Y; 100; 0; Y; YHKMVQ;
+AL; 77; 2009-01-01; 2009-01-07; 1111111; BUR; DFW; 07:21; 10:30; 03:09; Y; 100; 0; Y; YHKMVQ;
+AL; 78; 2009-01-01; 2009-01-07; 1111111; PHX; DFW; 08:09; 10:30; 02:21; Y; 100; 0; Y; YHKMVQ;
+AL; 79; 2009-01-01; 2009-01-07; 1111111; LAX; DFW; 07:26; 10:30; 03:04; Y; 100; 0; Y; YHKMVQ;
+AL; 80; 2009-01-01; 2009-01-07; 1111111; SAN; DFW; 07:29; 10:30; 03:01; Y; 100; 0; Y; YHKMVQ;
+AL; 81; 2009-01-01; 2009-01-07; 1111111; TUS; DFW; 08:11; 10:30; 02:19; Y; 100; 0; Y; YHKMVQ;
+AL; 82; 2009-01-01; 2009-01-07; 1111111; AUS; DFW; 09:24; 10:30; 01:06; Y; 100; 0; Y; YHKMVQ;
+AL; 83; 2009-01-01; 2009-01-07; 1111111; IAH; DFW; 09:16; 10:30; 01:14; Y; 100; 0; Y; YHKMVQ;
+AL; 84; 2009-01-01; 2009-01-07; 1111111; MSP; DFW; 08:08; 10:30; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 85; 2009-01-01; 2009-01-07; 1111111; SEA; DFW; 10:05; 14:00; 03:55; Y; 100; 0; Y; YHKMVQ;
+AL; 86; 2009-01-01; 2009-01-07; 1111111; OLM; DFW; 10:10; 14:00; 03:50; Y; 100; 0; Y; YHKMVQ;
+AL; 87; 2009-01-01; 2009-01-07; 1111111; GEG; DFW; 10:26; 14:00; 03:34; Y; 100; 0; Y; YHKMVQ;
+AL; 88; 2009-01-01; 2009-01-07; 1111111; FCA; DFW; 10:37; 14:00; 03:23; Y; 100; 0; Y; YHKMVQ;
+AL; 89; 2009-01-01; 2009-01-07; 1111111; EUG; DFW; 10:11; 14:00; 03:49; Y; 100; 0; Y; YHKMVQ;
+AL; 90; 2009-01-01; 2009-01-07; 1111111; BOI; DFW; 10:48; 14:00; 03:12; Y; 100; 0; Y; YHKMVQ;
+AL; 91; 2009-01-01; 2009-01-07; 1111111; RWL; DFW; 11:40; 14:00; 02:20; Y; 100; 0; Y; YHKMVQ;
+AL; 92; 2009-01-01; 2009-01-07; 1111111; SLC; DFW; 11:22; 14:00; 02:38; Y; 100; 0; Y; YHKMVQ;
+AL; 93; 2009-01-01; 2009-01-07; 1111111; SFO; DFW; 10:26; 14:00; 03:34; Y; 100; 0; Y; YHKMVQ;
+AL; 94; 2009-01-01; 2009-01-07; 1111111; FAT; DFW; 10:44; 14:00; 03:16; Y; 100; 0; Y; YHKMVQ;
+AL; 95; 2009-01-01; 2009-01-07; 1111111; DEN; DFW; 12:01; 14:00; 01:59; Y; 100; 0; Y; YHKMVQ;
+AL; 96; 2009-01-01; 2009-01-07; 1111111; LAS; DFW; 11:12; 14:00; 02:48; Y; 100; 0; Y; YHKMVQ;
+AL; 97; 2009-01-01; 2009-01-07; 1111111; ABQ; DFW; 12:08; 14:00; 01:52; Y; 100; 0; Y; YHKMVQ;
+AL; 98; 2009-01-01; 2009-01-07; 1111111; BUR; DFW; 10:51; 14:00; 03:09; Y; 100; 0; Y; YHKMVQ;
+AL; 99; 2009-01-01; 2009-01-07; 1111111; PHX; DFW; 11:39; 14:00; 02:21; Y; 100; 0; Y; YHKMVQ;
+AL; 100; 2009-01-01; 2009-01-07; 1111111; LAX; DFW; 10:56; 14:00; 03:04; Y; 100; 0; Y; YHKMVQ;
+AL; 101; 2009-01-01; 2009-01-07; 1111111; SAN; DFW; 10:59; 14:00; 03:01; Y; 100; 0; Y; YHKMVQ;
+AL; 102; 2009-01-01; 2009-01-07; 1111111; TUS; DFW; 11:41; 14:00; 02:19; Y; 100; 0; Y; YHKMVQ;
+AL; 103; 2009-01-01; 2009-01-07; 1111111; AUS; DFW; 12:54; 14:00; 01:06; Y; 100; 0; Y; YHKMVQ;
+AL; 104; 2009-01-01; 2009-01-07; 1111111; IAH; DFW; 12:46; 14:00; 01:14; Y; 100; 0; Y; YHKMVQ;
+AL; 105; 2009-01-01; 2009-01-07; 1111111; MSP; DFW; 11:38; 14:00; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 106; 2009-01-01; 2009-01-07; 1111111; SEA; DFW; 13:35; 17:30; 03:55; Y; 100; 0; Y; YHKMVQ;
+AL; 107; 2009-01-01; 2009-01-07; 1111111; OLM; DFW; 13:40; 17:30; 03:50; Y; 100; 0; Y; YHKMVQ;
+AL; 108; 2009-01-01; 2009-01-07; 1111111; GEG; DFW; 13:56; 17:30; 03:34; Y; 100; 0; Y; YHKMVQ;
+AL; 109; 2009-01-01; 2009-01-07; 1111111; FCA; DFW; 14:07; 17:30; 03:23; Y; 100; 0; Y; YHKMVQ;
+AL; 110; 2009-01-01; 2009-01-07; 1111111; EUG; DFW; 13:41; 17:30; 03:49; Y; 100; 0; Y; YHKMVQ;
+AL; 111; 2009-01-01; 2009-01-07; 1111111; BOI; DFW; 14:18; 17:30; 03:12; Y; 100; 0; Y; YHKMVQ;
+AL; 112; 2009-01-01; 2009-01-07; 1111111; RWL; DFW; 15:10; 17:30; 02:20; Y; 100; 0; Y; YHKMVQ;
+AL; 113; 2009-01-01; 2009-01-07; 1111111; SLC; DFW; 14:52; 17:30; 02:38; Y; 100; 0; Y; YHKMVQ;
+AL; 114; 2009-01-01; 2009-01-07; 1111111; SFO; DFW; 13:56; 17:30; 03:34; Y; 100; 0; Y; YHKMVQ;
+AL; 115; 2009-01-01; 2009-01-07; 1111111; FAT; DFW; 14:14; 17:30; 03:16; Y; 100; 0; Y; YHKMVQ;
+AL; 116; 2009-01-01; 2009-01-07; 1111111; DEN; DFW; 15:31; 17:30; 01:59; Y; 100; 0; Y; YHKMVQ;
+AL; 117; 2009-01-01; 2009-01-07; 1111111; LAS; DFW; 14:42; 17:30; 02:48; Y; 100; 0; Y; YHKMVQ;
+AL; 118; 2009-01-01; 2009-01-07; 1111111; ABQ; DFW; 15:38; 17:30; 01:52; Y; 100; 0; Y; YHKMVQ;
+AL; 119; 2009-01-01; 2009-01-07; 1111111; BUR; DFW; 14:21; 17:30; 03:09; Y; 100; 0; Y; YHKMVQ;
+AL; 120; 2009-01-01; 2009-01-07; 1111111; PHX; DFW; 15:09; 17:30; 02:21; Y; 100; 0; Y; YHKMVQ;
+AL; 121; 2009-01-01; 2009-01-07; 1111111; LAX; DFW; 14:26; 17:30; 03:04; Y; 100; 0; Y; YHKMVQ;
+AL; 122; 2009-01-01; 2009-01-07; 1111111; SAN; DFW; 14:29; 17:30; 03:01; Y; 100; 0; Y; YHKMVQ;
+AL; 123; 2009-01-01; 2009-01-07; 1111111; TUS; DFW; 15:11; 17:30; 02:19; Y; 100; 0; Y; YHKMVQ;
+AL; 124; 2009-01-01; 2009-01-07; 1111111; AUS; DFW; 16:24; 17:30; 01:06; Y; 100; 0; Y; YHKMVQ;
+AL; 125; 2009-01-01; 2009-01-07; 1111111; IAH; DFW; 16:16; 17:30; 01:14; Y; 100; 0; Y; YHKMVQ;
+AL; 126; 2009-01-01; 2009-01-07; 1111111; MSP; DFW; 15:08; 17:30; 02:22; Y; 100; 0; Y; YHKMVQ;
+AD; 127; 2009-01-01; 2009-01-07; 1111111; MSP; BTV; 11:30; 14:05; 02:35; Y; 100; 0; Y; YHKMVQ;
+AD; 128; 2009-01-01; 2009-01-07; 1111111; MSP; UIN; 11:30; 12:55; 01:25; Y; 100; 0; Y; YHKMVQ;
+AD; 129; 2009-01-01; 2009-01-07; 1111111; MSP; MKE; 11:30; 12:47; 01:17; Y; 100; 0; Y; YHKMVQ;
+AD; 130; 2009-01-01; 2009-01-07; 1111111; MSP; DTW; 11:30; 13:13; 01:43; Y; 100; 0; Y; YHKMVQ;
+AD; 131; 2009-01-01; 2009-01-07; 1111111; MSP; BOS; 11:30; 14:19; 02:49; Y; 100; 0; Y; YHKMVQ;
+AD; 132; 2009-01-01; 2009-01-07; 1111111; MSP; EWR; 11:30; 14:07; 02:37; Y; 100; 0; Y; YHKMVQ;
+AD; 133; 2009-01-01; 2009-01-07; 1111111; MSP; CLE; 11:30; 13:23; 01:53; Y; 100; 0; Y; YHKMVQ;
+AD; 134; 2009-01-01; 2009-01-07; 1111111; MSP; ORD; 11:30; 12:53; 01:23; Y; 100; 0; Y; YHKMVQ;
+AD; 135; 2009-01-01; 2009-01-07; 1111111; MSP; DAY; 11:30; 13:20; 01:50; Y; 100; 0; Y; YHKMVQ;
+AD; 136; 2009-01-01; 2009-01-07; 1111111; MSP; PIT; 11:30; 13:36; 02:06; Y; 100; 0; Y; YHKMVQ;
+AD; 137; 2009-01-01; 2009-01-07; 1111111; MSP; PHL; 11:30; 14:03; 02:33; Y; 100; 0; Y; YHKMVQ;
+AD; 138; 2009-01-01; 2009-01-07; 1111111; MSP; CMI; 11:30; 13:05; 01:35; Y; 100; 0; Y; YHKMVQ;
+AD; 139; 2009-01-01; 2009-01-07; 1111111; MSP; IAD; 11:30; 13:56; 02:26; Y; 100; 0; Y; YHKMVQ;
+AD; 140; 2009-01-01; 2009-01-07; 1111111; MSP; CVG; 11:30; 13:20; 01:50; Y; 100; 0; Y; YHKMVQ;
+AD; 141; 2009-01-01; 2009-01-07; 1111111; MSP; ORF; 11:30; 14:11; 02:41; Y; 100; 0; Y; YHKMVQ;
+AD; 142; 2009-01-01; 2009-01-07; 1111111; MSP; ATL; 11:30; 13:55; 02:25; Y; 100; 0; Y; YHKMVQ;
+AD; 143; 2009-01-01; 2009-01-07; 1111111; MSP; MSY; 11:30; 14:03; 02:33; Y; 100; 0; Y; YHKMVQ;
+AD; 144; 2009-01-01; 2009-01-07; 1111111; MSP; STL; 11:30; 13:05; 01:35; Y; 100; 0; Y; YHKMVQ;
+AD; 145; 2009-01-01; 2009-01-07; 1111111; MSP; TPA; 11:30; 14:41; 03:11; Y; 100; 0; Y; YHKMVQ;
+AD; 146; 2009-01-01; 2009-01-07; 1111111; MSP; FOE; 11:30; 13:09; 01:39; Y; 100; 0; Y; YHKMVQ;
+AD; 147; 2009-01-01; 2009-01-07; 1111111; MSP; DFW; 11:30; 13:52; 02:22; Y; 100; 0; Y; YHKMVQ;
+AD; 148; 2009-01-01; 2009-01-07; 1111111; MSP; BTV; 15:00; 17:35; 02:35; Y; 100; 0; Y; YHKMVQ;
+AD; 149; 2009-01-01; 2009-01-07; 1111111; MSP; UIN; 15:00; 16:25; 01:25; Y; 100; 0; Y; YHKMVQ;
+AD; 150; 2009-01-01; 2009-01-07; 1111111; MSP; MKE; 15:00; 16:17; 01:17; Y; 100; 0; Y; YHKMVQ;
+AD; 151; 2009-01-01; 2009-01-07; 1111111; MSP; DTW; 15:00; 16:43; 01:43; Y; 100; 0; Y; YHKMVQ;
+AD; 152; 2009-01-01; 2009-01-07; 1111111; MSP; BOS; 15:00; 17:49; 02:49; Y; 100; 0; Y; YHKMVQ;
+AD; 153; 2009-01-01; 2009-01-07; 1111111; MSP; EWR; 15:00; 17:37; 02:37; Y; 100; 0; Y; YHKMVQ;
+AD; 154; 2009-01-01; 2009-01-07; 1111111; MSP; CLE; 15:00; 16:53; 01:53; Y; 100; 0; Y; YHKMVQ;
+AD; 155; 2009-01-01; 2009-01-07; 1111111; MSP; ORD; 15:00; 16:23; 01:23; Y; 100; 0; Y; YHKMVQ;
+AD; 156; 2009-01-01; 2009-01-07; 1111111; MSP; DAY; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
+AD; 157; 2009-01-01; 2009-01-07; 1111111; MSP; PIT; 15:00; 17:06; 02:06; Y; 100; 0; Y; YHKMVQ;
+AD; 158; 2009-01-01; 2009-01-07; 1111111; MSP; PHL; 15:00; 17:33; 02:33; Y; 100; 0; Y; YHKMVQ;
+AD; 159; 2009-01-01; 2009-01-07; 1111111; MSP; CMI; 15:00; 16:35; 01:35; Y; 100; 0; Y; YHKMVQ;
+AD; 160; 2009-01-01; 2009-01-07; 1111111; MSP; IAD; 15:00; 17:26; 02:26; Y; 100; 0; Y; YHKMVQ;
+AD; 161; 2009-01-01; 2009-01-07; 1111111; MSP; CVG; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
+AD; 162; 2009-01-01; 2009-01-07; 1111111; MSP; ORF; 15:00; 17:41; 02:41; Y; 100; 0; Y; YHKMVQ;
+AD; 163; 2009-01-01; 2009-01-07; 1111111; MSP; ATL; 15:00; 17:25; 02:25; Y; 100; 0; Y; YHKMVQ;
+AD; 164; 2009-01-01; 2009-01-07; 1111111; MSP; MSY; 15:00; 17:33; 02:33; Y; 100; 0; Y; YHKMVQ;
+AD; 165; 2009-01-01; 2009-01-07; 1111111; MSP; STL; 15:00; 16:35; 01:35; Y; 100; 0; Y; YHKMVQ;
+AD; 166; 2009-01-01; 2009-01-07; 1111111; MSP; TPA; 15:00; 18:11; 03:11; Y; 100; 0; Y; YHKMVQ;
+AD; 167; 2009-01-01; 2009-01-07; 1111111; MSP; FOE; 15:00; 16:39; 01:39; Y; 100; 0; Y; YHKMVQ;
+AD; 168; 2009-01-01; 2009-01-07; 1111111; MSP; DFW; 15:00; 17:22; 02:22; Y; 100; 0; Y; YHKMVQ;
+AD; 169; 2009-01-01; 2009-01-07; 1111111; MSP; BTV; 18:30; 21:05; 02:35; Y; 100; 0; Y; YHKMVQ;
+AD; 170; 2009-01-01; 2009-01-07; 1111111; MSP; UIN; 18:30; 19:55; 01:25; Y; 100; 0; Y; YHKMVQ;
+AD; 171; 2009-01-01; 2009-01-07; 1111111; MSP; MKE; 18:30; 19:47; 01:17; Y; 100; 0; Y; YHKMVQ;
+AD; 172; 2009-01-01; 2009-01-07; 1111111; MSP; DTW; 18:30; 20:13; 01:43; Y; 100; 0; Y; YHKMVQ;
+AD; 173; 2009-01-01; 2009-01-07; 1111111; MSP; BOS; 18:30; 21:19; 02:49; Y; 100; 0; Y; YHKMVQ;
+AD; 174; 2009-01-01; 2009-01-07; 1111111; MSP; EWR; 18:30; 21:07; 02:37; Y; 100; 0; Y; YHKMVQ;
+AD; 175; 2009-01-01; 2009-01-07; 1111111; MSP; CLE; 18:30; 20:23; 01:53; Y; 100; 0; Y; YHKMVQ;
+AD; 176; 2009-01-01; 2009-01-07; 1111111; MSP; ORD; 18:30; 19:53; 01:23; Y; 100; 0; Y; YHKMVQ;
+AD; 177; 2009-01-01; 2009-01-07; 1111111; MSP; DAY; 18:30; 20:20; 01:50; Y; 100; 0; Y; YHKMVQ;
+AD; 178; 2009-01-01; 2009-01-07; 1111111; MSP; PIT; 18:30; 20:36; 02:06; Y; 100; 0; Y; YHKMVQ;
+AD; 179; 2009-01-01; 2009-01-07; 1111111; MSP; PHL; 18:30; 21:03; 02:33; Y; 100; 0; Y; YHKMVQ;
+AD; 180; 2009-01-01; 2009-01-07; 1111111; MSP; CMI; 18:30; 20:05; 01:35; Y; 100; 0; Y; YHKMVQ;
+AD; 181; 2009-01-01; 2009-01-07; 1111111; MSP; IAD; 18:30; 20:56; 02:26; Y; 100; 0; Y; YHKMVQ;
+AD; 182; 2009-01-01; 2009-01-07; 1111111; MSP; CVG; 18:30; 20:20; 01:50; Y; 100; 0; Y; YHKMVQ;
+AD; 183; 2009-01-01; 2009-01-07; 1111111; MSP; ORF; 18:30; 21:11; 02:41; Y; 100; 0; Y; YHKMVQ;
+AD; 184; 2009-01-01; 2009-01-07; 1111111; MSP; ATL; 18:30; 20:55; 02:25; Y; 100; 0; Y; YHKMVQ;
+AD; 185; 2009-01-01; 2009-01-07; 1111111; MSP; MSY; 18:30; 21:03; 02:33; Y; 100; 0; Y; YHKMVQ;
+AD; 186; 2009-01-01; 2009-01-07; 1111111; MSP; STL; 18:30; 20:05; 01:35; Y; 100; 0; Y; YHKMVQ;
+AD; 187; 2009-01-01; 2009-01-07; 1111111; MSP; TPA; 18:30; 21:41; 03:11; Y; 100; 0; Y; YHKMVQ;
+AD; 188; 2009-01-01; 2009-01-07; 1111111; MSP; FOE; 18:30; 20:09; 01:39; Y; 100; 0; Y; YHKMVQ;
+AD; 189; 2009-01-01; 2009-01-07; 1111111; MSP; DFW; 18:30; 20:52; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 190; 2009-01-01; 2009-01-07; 1111111; DFW; BTV; 11:30; 15:06; 03:36; Y; 100; 0; Y; YHKMVQ;
+AL; 191; 2009-01-01; 2009-01-07; 1111111; DFW; UIN; 11:30; 13:20; 01:50; Y; 100; 0; Y; YHKMVQ;
+AL; 192; 2009-01-01; 2009-01-07; 1111111; DFW; MKE; 11:30; 13:52; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 193; 2009-01-01; 2009-01-07; 1111111; DFW; DTW; 11:30; 14:09; 02:39; Y; 100; 0; Y; YHKMVQ;
+AL; 194; 2009-01-01; 2009-01-07; 1111111; DFW; BOS; 11:30; 15:08; 03:38; Y; 100; 0; Y; YHKMVQ;
+AL; 195; 2009-01-01; 2009-01-07; 1111111; DFW; EWR; 11:30; 14:52; 03:22; Y; 100; 0; Y; YHKMVQ;
+AL; 196; 2009-01-01; 2009-01-07; 1111111; DFW; CLE; 11:30; 14:11; 02:41; Y; 100; 0; Y; YHKMVQ;
+AL; 197; 2009-01-01; 2009-01-07; 1111111; DFW; ORD; 11:30; 13:46; 02:16; Y; 100; 0; Y; YHKMVQ;
+AL; 198; 2009-01-01; 2009-01-07; 1111111; DFW; DAY; 11:30; 13:47; 02:17; Y; 100; 0; Y; YHKMVQ;
+AL; 199; 2009-01-01; 2009-01-07; 1111111; DFW; PIT; 11:30; 14:16; 02:46; Y; 100; 0; Y; YHKMVQ;
+AL; 200; 2009-01-01; 2009-01-07; 1111111; DFW; PHL; 11:30; 14:44; 03:14; Y; 100; 0; Y; YHKMVQ;
+AL; 201; 2009-01-01; 2009-01-07; 1111111; DFW; CMI; 11:30; 13:33; 02:03; Y; 100; 0; Y; YHKMVQ;
+AL; 202; 2009-01-01; 2009-01-07; 1111111; DFW; IAD; 11:30; 14:30; 03:00; Y; 100; 0; Y; YHKMVQ;
+AL; 203; 2009-01-01; 2009-01-07; 1111111; DFW; CVG; 11:30; 13:47; 02:17; Y; 100; 0; Y; YHKMVQ;
+AL; 204; 2009-01-01; 2009-01-07; 1111111; DFW; ORF; 11:30; 14:33; 03:03; Y; 100; 0; Y; YHKMVQ;
+AL; 205; 2009-01-01; 2009-01-07; 1111111; DFW; ATL; 11:30; 13:39; 02:09; Y; 100; 0; Y; YHKMVQ;
+AL; 206; 2009-01-01; 2009-01-07; 1111111; DFW; MSY; 11:30; 12:57; 01:27; Y; 100; 0; Y; YHKMVQ;
+AL; 207; 2009-01-01; 2009-01-07; 1111111; DFW; STL; 11:30; 13:16; 01:46; Y; 100; 0; Y; YHKMVQ;
+AL; 208; 2009-01-01; 2009-01-07; 1111111; DFW; TPA; 11:30; 14:01; 02:31; Y; 100; 0; Y; YHKMVQ;
+AL; 209; 2009-01-01; 2009-01-07; 1111111; DFW; FOE; 11:30; 13:02; 01:32; Y; 100; 0; Y; YHKMVQ;
+AL; 210; 2009-01-01; 2009-01-07; 1111111; DFW; MSP; 11:30; 13:52; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 211; 2009-01-01; 2009-01-07; 1111111; DFW; BTV; 15:00; 18:36; 03:36; Y; 100; 0; Y; YHKMVQ;
+AL; 212; 2009-01-01; 2009-01-07; 1111111; DFW; UIN; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
+AL; 213; 2009-01-01; 2009-01-07; 1111111; DFW; MKE; 15:00; 17:22; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 214; 2009-01-01; 2009-01-07; 1111111; DFW; DTW; 15:00; 17:39; 02:39; Y; 100; 0; Y; YHKMVQ;
+AL; 215; 2009-01-01; 2009-01-07; 1111111; DFW; BOS; 15:00; 18:38; 03:38; Y; 100; 0; Y; YHKMVQ;
+AL; 216; 2009-01-01; 2009-01-07; 1111111; DFW; EWR; 15:00; 18:22; 03:22; Y; 100; 0; Y; YHKMVQ;
+AL; 217; 2009-01-01; 2009-01-07; 1111111; DFW; CLE; 15:00; 17:41; 02:41; Y; 100; 0; Y; YHKMVQ;
+AL; 218; 2009-01-01; 2009-01-07; 1111111; DFW; ORD; 15:00; 17:16; 02:16; Y; 100; 0; Y; YHKMVQ;
+AL; 219; 2009-01-01; 2009-01-07; 1111111; DFW; DAY; 15:00; 17:17; 02:17; Y; 100; 0; Y; YHKMVQ;
+AL; 220; 2009-01-01; 2009-01-07; 1111111; DFW; PIT; 15:00; 17:46; 02:46; Y; 100; 0; Y; YHKMVQ;
+AL; 221; 2009-01-01; 2009-01-07; 1111111; DFW; PHL; 15:00; 18:14; 03:14; Y; 100; 0; Y; YHKMVQ;
+AL; 222; 2009-01-01; 2009-01-07; 1111111; DFW; CMI; 15:00; 17:03; 02:03; Y; 100; 0; Y; YHKMVQ;
+AL; 223; 2009-01-01; 2009-01-07; 1111111; DFW; IAD; 15:00; 18:00; 03:00; Y; 100; 0; Y; YHKMVQ;
+AL; 224; 2009-01-01; 2009-01-07; 1111111; DFW; CVG; 15:00; 17:17; 02:17; Y; 100; 0; Y; YHKMVQ;
+AL; 225; 2009-01-01; 2009-01-07; 1111111; DFW; ORF; 15:00; 18:03; 03:03; Y; 100; 0; Y; YHKMVQ;
+AL; 226; 2009-01-01; 2009-01-07; 1111111; DFW; ATL; 15:00; 17:09; 02:09; Y; 100; 0; Y; YHKMVQ;
+AL; 227; 2009-01-01; 2009-01-07; 1111111; DFW; MSY; 15:00; 16:27; 01:27; Y; 100; 0; Y; YHKMVQ;
+AL; 228; 2009-01-01; 2009-01-07; 1111111; DFW; STL; 15:00; 16:46; 01:46; Y; 100; 0; Y; YHKMVQ;
+AL; 229; 2009-01-01; 2009-01-07; 1111111; DFW; TPA; 15:00; 17:31; 02:31; Y; 100; 0; Y; YHKMVQ;
+AL; 230; 2009-01-01; 2009-01-07; 1111111; DFW; FOE; 15:00; 16:32; 01:32; Y; 100; 0; Y; YHKMVQ;
+AL; 231; 2009-01-01; 2009-01-07; 1111111; DFW; MSP; 15:00; 17:22; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 232; 2009-01-01; 2009-01-07; 1111111; DFW; BTV; 18:30; 22:06; 03:36; Y; 100; 0; Y; YHKMVQ;
+AL; 233; 2009-01-01; 2009-01-07; 1111111; DFW; UIN; 18:30; 20:20; 01:50; Y; 100; 0; Y; YHKMVQ;
+AL; 234; 2009-01-01; 2009-01-07; 1111111; DFW; MKE; 18:30; 20:52; 02:22; Y; 100; 0; Y; YHKMVQ;
+AL; 235; 2009-01-01; 2009-01-07; 1111111; DFW; DTW; 18:30; 21:09; 02:39; Y; 100; 0; Y; YHKMVQ;
+AL; 236; 2009-01-01; 2009-01-07; 1111111; DFW; BOS; 18:30; 22:08; 03:38; Y; 100; 0; Y; YHKMVQ;
+AL; 237; 2009-01-01; 2009-01-07; 1111111; DFW; EWR; 18:30; 21:52; 03:22; Y; 100; 0; Y; YHKMVQ;
+AL; 238; 2009-01-01; 2009-01-07; 1111111; DFW; CLE; 18:30; 21:11; 02:41; Y; 100; 0; Y; YHKMVQ;
+AL; 239; 2009-01-01; 2009-01-07; 1111111; DFW; ORD; 18:30; 20:46; 02:16; Y; 100; 0; Y; YHKMVQ;
+AL; 240; 2009-01-01; 2009-01-07; 1111111; DFW; DAY; 18:30; 20:47; 02:17; Y; 100; 0; Y; YHKMVQ;
+AL; 241; 2009-01-01; 2009-01-07; 1111111; DFW; PIT; 18:30; 21:16; 02:46; Y; 100; 0; Y; YHKMVQ;
+AL; 242; 2009-01-01; 2009-01-07; 1111111; DFW; PHL; 18:30; 21:44; 03:14; Y; 100; 0; Y; YHKMVQ;
+AL; 243; 2009-01-01; 2009-01-07; 1111111; DFW; CMI; 18:30; 20:33; 02:03; Y; 100; 0; Y; YHKMVQ;
+AL; 244; 2009-01-01; 2009-01-07; 1111111; DFW; IAD; 18:30; 21:30; 03:00; Y; 100; 0; Y; YHKMVQ;
+AL; 245; 2009-01-01; 2009-01-07; 1111111; DFW; CVG; 18:30; 20:47; 02:17; Y; 100; 0; Y; YHKMVQ;
+AL; 246; 2009-01-01; 2009-01-07; 1111111; DFW; ORF; 18:30; 21:33; 03:03; Y; 100; 0; Y; YHKMVQ;
+AL; 247; 2009-01-01; 2009-01-07; 1111111; DFW; ATL; 18:30; 20:39; 02:09; Y; 100; 0; Y; YHKMVQ;
+AL; 248; 2009-01-01; 2009-01-07; 1111111; DFW; MSY; 18:30; 19:57; 01:27; Y; 100; 0; Y; YHKMVQ;
+AL; 249; 2009-01-01; 2009-01-07; 1111111; DFW; STL; 18:30; 20:16; 01:46; Y; 100; 0; Y; YHKMVQ;
+AL; 250; 2009-01-01; 2009-01-07; 1111111; DFW; TPA; 18:30; 21:01; 02:31; Y; 100; 0; Y; YHKMVQ;
+AL; 251; 2009-01-01; 2009-01-07; 1111111; DFW; FOE; 18:30; 20:02; 01:32; Y; 100; 0; Y; YHKMVQ;
+AL; 252; 2009-01-01; 2009-01-07; 1111111; DFW; MSP; 18:30; 20:52; 02:22; Y; 100; 0; Y; YHKMVQ;
\ No newline at end of file
Copied: trunk/stdair/test/samples/schedule07.csv (from rev 299, trunk/stdair/test/samples/schedule06.csv)
===================================================================
--- trunk/stdair/test/samples/schedule07.csv (rev 0)
+++ trunk/stdair/test/samples/schedule07.csv 2010-09-10 14:01:28 UTC (rev 317)
@@ -0,0 +1,2 @@
+AD; 1; 2009-01-01; 2009-01-07; 1111111; SEA; MSP; 07:07; 10:30; 03:23; Y; 100; 0; Y; YHKMVQ;
+AD; 156; 2009-01-01; 2009-01-07; 1111111; MSP; DAY; 15:00; 16:50; 01:50; Y; 100; 0; Y; YHKMVQ;
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-08 17:18:52
|
Revision: 316
http://stdair.svn.sourceforge.net/stdair/?rev=316&view=rev
Author: denis_arnaud
Date: 2010-09-08 17:18:46 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
[Doc] Reverted wrong changes on the Makefile (wrong removal of source inclusion).
Modified Paths:
--------------
trunk/stdair/doc/Makefile.am
Modified: trunk/stdair/doc/Makefile.am
===================================================================
--- trunk/stdair/doc/Makefile.am 2010-09-08 15:55:28 UTC (rev 315)
+++ trunk/stdair/doc/Makefile.am 2010-09-08 17:18:46 UTC (rev 316)
@@ -2,13 +2,13 @@
include $(top_srcdir)/doc/local/sources.mk
include $(top_srcdir)/doc/tutorial/sources.mk
include $(top_srcdir)/doc/tutorial/src/sources.mk
-#include $(top_srcdir)/stdair/basic/sources.mk
-#include $(top_srcdir)/stdair/bom/sources.mk
-#include $(top_srcdir)/stdair/factory/sources.mk
-#include $(top_srcdir)/stdair/dbadaptor/sources.mk
-#include $(top_srcdir)/stdair/command/sources.mk
-#include $(top_srcdir)/stdair/service/sources.mk
-#include $(top_srcdir)/stdair/sources.mk
+include $(top_srcdir)/stdair/basic/sources.mk
+include $(top_srcdir)/stdair/bom/sources.mk
+include $(top_srcdir)/stdair/factory/sources.mk
+include $(top_srcdir)/stdair/dbadaptor/sources.mk
+include $(top_srcdir)/stdair/command/sources.mk
+include $(top_srcdir)/stdair/service/sources.mk
+include $(top_srcdir)/stdair/sources.mk
SUBDIRS = images tutorial local
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-08 15:55:38
|
Revision: 315
http://stdair.svn.sourceforge.net/stdair/?rev=315&view=rev
Author: denis_arnaud
Date: 2010-09-08 15:55:28 +0000 (Wed, 08 Sep 2010)
Log Message:
-----------
[Doc] StdAir is no longer an external Subversion reference.
Modified Paths:
--------------
trunk/stdair/doc/Makefile.am
Modified: trunk/stdair/doc/Makefile.am
===================================================================
--- trunk/stdair/doc/Makefile.am 2010-09-07 14:07:31 UTC (rev 314)
+++ trunk/stdair/doc/Makefile.am 2010-09-08 15:55:28 UTC (rev 315)
@@ -2,13 +2,13 @@
include $(top_srcdir)/doc/local/sources.mk
include $(top_srcdir)/doc/tutorial/sources.mk
include $(top_srcdir)/doc/tutorial/src/sources.mk
-include $(top_srcdir)/stdair/basic/sources.mk
-include $(top_srcdir)/stdair/bom/sources.mk
-include $(top_srcdir)/stdair/factory/sources.mk
-include $(top_srcdir)/stdair/dbadaptor/sources.mk
-include $(top_srcdir)/stdair/command/sources.mk
-include $(top_srcdir)/stdair/service/sources.mk
-include $(top_srcdir)/stdair/sources.mk
+#include $(top_srcdir)/stdair/basic/sources.mk
+#include $(top_srcdir)/stdair/bom/sources.mk
+#include $(top_srcdir)/stdair/factory/sources.mk
+#include $(top_srcdir)/stdair/dbadaptor/sources.mk
+#include $(top_srcdir)/stdair/command/sources.mk
+#include $(top_srcdir)/stdair/service/sources.mk
+#include $(top_srcdir)/stdair/sources.mk
SUBDIRS = images tutorial local
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-07 14:07:38
|
Revision: 314
http://stdair.svn.sourceforge.net/stdair/?rev=314&view=rev
Author: clacombe
Date: 2010-09-07 14:07:31 +0000 (Tue, 07 Sep 2010)
Log Message:
-----------
retrofif svn:ignore from trunk
Property Changed:
----------------
branches/stdair/0.4.0/main/batches/
Property changes on: branches/stdair/0.4.0/main/batches
___________________________________________________________________
Added: svn:ignore
+ .deps
.libs
Makefile.in
Makefile
stdair
stdair.log
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-06 15:24:16
|
Revision: 313
http://stdair.svn.sourceforge.net/stdair/?rev=313&view=rev
Author: clacombe
Date: 2010-09-06 15:24:06 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Config] keep stdair directory for the lib creation only
Modified Paths:
--------------
branches/stdair/0.4.0/main/Makefile.am
branches/stdair/0.4.0/main/configure.ac
branches/stdair/0.4.0/main/doc/Makefile.am
branches/stdair/0.4.0/main/stdair/Makefile.am
branches/stdair/0.4.0/main/stdair/core/Makefile.am
branches/stdair/0.4.0/main/stdair/core/sources.mk
branches/stdair/0.4.0/main/test/architecture/Makefile.am
branches/stdair/0.4.0/main/test/stdair/Makefile.am
Added Paths:
-----------
branches/stdair/0.4.0/main/batches/
branches/stdair/0.4.0/main/batches/Makefile.am
branches/stdair/0.4.0/main/batches/sources.mk
branches/stdair/0.4.0/main/batches/stdair.cpp
branches/stdair/0.4.0/main/stdair/sources.mk
Removed Paths:
-------------
branches/stdair/0.4.0/main/stdair/batches/
Modified: branches/stdair/0.4.0/main/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -30,7 +30,7 @@
EXTRA_DIST =
# Build in these directories:
-SUBDIRS = stdair man $(HTML_DOC_DIR) $(TEST_DIR)
+SUBDIRS = stdair batches man $(HTML_DOC_DIR) $(TEST_DIR)
# Configuration helpers
Added: branches/stdair/0.4.0/main/batches/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/batches/Makefile.am (rev 0)
+++ branches/stdair/0.4.0/main/batches/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -0,0 +1,17 @@
+# stdair/batches
+include $(top_srcdir)/Makefile.common
+include $(srcdir)/sources.mk
+
+## Source directory
+
+MAINTAINERCLEANFILES = Makefile.in
+
+
+# Binaries (batches)
+bin_PROGRAMS = stdair
+
+stdair_SOURCES = $(stdair_batches_h_sources) $(stdair_batches_cc_sources)
+stdair_CXXFLAGS = $(BOOST_CFLAGS)
+stdair_LDADD =
+stdair_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \
+ $(top_builddir)/stdair/libstdair.la
Added: branches/stdair/0.4.0/main/batches/sources.mk
===================================================================
--- branches/stdair/0.4.0/main/batches/sources.mk (rev 0)
+++ branches/stdair/0.4.0/main/batches/sources.mk 2010-09-06 15:24:06 UTC (rev 313)
@@ -0,0 +1,3 @@
+#
+stdair_batches_h_sources =
+stdair_batches_cc_sources = $(top_srcdir)/batches/stdair.cpp
Added: branches/stdair/0.4.0/main/batches/stdair.cpp
===================================================================
--- branches/stdair/0.4.0/main/batches/stdair.cpp (rev 0)
+++ branches/stdair/0.4.0/main/batches/stdair.cpp 2010-09-06 15:24:06 UTC (rev 313)
@@ -0,0 +1,553 @@
+// STL
+#include <cassert>
+#include <iostream>
+#include <sstream>
+#include <fstream>
+#include <string>
+// Boost (Extended STL)
+#include <boost/date_time/posix_time/posix_time.hpp>
+#include <boost/date_time/gregorian/gregorian.hpp>
+#include <boost/program_options.hpp>
+#include <boost/tokenizer.hpp>
+#include <boost/lexical_cast.hpp>
+// StdAir
+#include <stdair/STDAIR_Types.hpp>
+#include <stdair/STDAIR_Service.hpp>
+#include <stdair/bom/BomManager.hpp>
+#include <stdair/bom/BomRoot.hpp>
+#include <stdair/bom/Inventory.hpp>
+#include <stdair/bom/InventoryTypes.hpp>
+#include <stdair/bom/FlightDate.hpp>
+#include <stdair/bom/FlightDateTypes.hpp>
+#include <stdair/bom/LegDate.hpp>
+#include <stdair/bom/LegDateTypes.hpp>
+#include <stdair/bom/LegCabin.hpp>
+#include <stdair/bom/LegCabinTypes.hpp>
+#include <stdair/bom/SegmentDate.hpp>
+#include <stdair/bom/SegmentDateTypes.hpp>
+#include <stdair/bom/SegmentCabin.hpp>
+#include <stdair/bom/SegmentCabinTypes.hpp>
+#include <stdair/bom/BookingClass.hpp>
+#include <stdair/bom/BookingClassTypes.hpp>
+#include <stdair/factory/FacBomManager.hpp>
+#include <stdair/service/Logger.hpp>
+#include <stdair/config/stdair-paths.hpp>
+
+// //////// Constants //////
+/** Default name and location for the log file. */
+const std::string K_STDAIR_DEFAULT_LOG_FILENAME ("stdair.log");
+
+/** Default name and location for the (CSV) input file. */
+const std::string K_STDAIR_DEFAULT_INPUT_FILENAME ("../../test/samples/stdair01.csv");
+
+/** Default for the input type. It can be either built-in or provided by an
+ input file. That latter must then be given with the -i option. */
+const bool K_STDAIR_DEFAULT_BUILT_IN_INPUT = false;
+
+/** Early return status (so that it can be differentiated from an
+ error). */
+const int K_STDAIR_EARLY_RETURN_STATUS = 99;
+
+// ///////// Parsing of Options & Configuration /////////
+// A helper function to simplify the main part.
+template<class T> std::ostream& operator<< (std::ostream& os,
+ const std::vector<T>& v) {
+ std::copy (v.begin(), v.end(), std::ostream_iterator<T> (std::cout, " "));
+ return os;
+}
+
+/** Read and parse the command line options. */
+int readConfiguration (int argc, char* argv[], bool& ioIsBuiltin,
+ stdair::Filename_T& ioInputFilename,
+ std::string& ioLogFilename) {
+ // Default for the built-in input
+ ioIsBuiltin = K_STDAIR_DEFAULT_BUILT_IN_INPUT;
+
+ // Declare a group of options that will be allowed only on command line
+ boost::program_options::options_description generic ("Generic options");
+ generic.add_options()
+ ("prefix", "print installation prefix")
+ ("version,v", "print version string")
+ ("help,h", "produce help message");
+
+ // Declare a group of options that will be allowed both on command
+ // line and in config file
+ boost::program_options::options_description config ("Configuration");
+ config.add_options()
+ ("builtin,b",
+ "The sample BOM tree can be either built-in or parsed from an input file. That latter must then be given with the -i/--input option")
+ ("input,i",
+ boost::program_options::value< std::string >(&ioInputFilename)->default_value(K_STDAIR_DEFAULT_INPUT_FILENAME),
+ "(CVS) input file for the demand distributions")
+ ("log,l",
+ boost::program_options::value< std::string >(&ioLogFilename)->default_value(K_STDAIR_DEFAULT_LOG_FILENAME),
+ "Filename for the logs")
+ ;
+
+ // Hidden options, will be allowed both on command line and
+ // in config file, but will not be shown to the user.
+ boost::program_options::options_description hidden ("Hidden options");
+ hidden.add_options()
+ ("copyright",
+ boost::program_options::value< std::vector<std::string> >(),
+ "Show the copyright (license)");
+
+ boost::program_options::options_description cmdline_options;
+ cmdline_options.add(generic).add(config).add(hidden);
+
+ boost::program_options::options_description config_file_options;
+ config_file_options.add(config).add(hidden);
+ boost::program_options::options_description visible ("Allowed options");
+ visible.add(generic).add(config);
+
+ boost::program_options::positional_options_description p;
+ p.add ("copyright", -1);
+
+ boost::program_options::variables_map vm;
+ boost::program_options::
+ store (boost::program_options::command_line_parser (argc, argv).
+ options (cmdline_options).positional(p).run(), vm);
+
+ std::ifstream ifs ("stdair.cfg");
+ boost::program_options::store (parse_config_file (ifs, config_file_options),
+ vm);
+ boost::program_options::notify (vm);
+
+ if (vm.count ("help")) {
+ std::cout << visible << std::endl;
+ return K_STDAIR_EARLY_RETURN_STATUS;
+ }
+
+ if (vm.count ("version")) {
+ std::cout << PACKAGE_NAME << ", version " << PACKAGE_VERSION << std::endl;
+ return K_STDAIR_EARLY_RETURN_STATUS;
+ }
+
+ if (vm.count ("prefix")) {
+ std::cout << "Installation prefix: " << PREFIXDIR << std::endl;
+ return K_STDAIR_EARLY_RETURN_STATUS;
+ }
+
+ if (vm.count ("builtin")) {
+ ioIsBuiltin = true;
+ }
+ const std::string isBuiltinStr = (ioIsBuiltin == true)?"yes":"no";
+ std::cout << "The BOM should be built-in? " << isBuiltinStr << std::endl;
+
+ if (ioIsBuiltin == false) {
+ if (vm.count ("input")) {
+ ioInputFilename = vm["input"].as< std::string >();
+ std::cout << "Input filename is: " << ioInputFilename << std::endl;
+ }
+ }
+
+ if (vm.count ("log")) {
+ ioLogFilename = vm["log"].as< std::string >();
+ std::cout << "Log filename is: " << ioLogFilename << std::endl;
+ }
+
+ return 0;
+}
+
+// //////////////////////////////////////////////////////////////////////
+void buildSampleBom() {
+
+ try {
+
+ // DEBUG
+ STDAIR_LOG_DEBUG ("StdAir will build the BOM tree from built-in specifications.");
+
+ // ///////////// Step 0.0: Initialisation ////////////
+ // Create the root of the Bom tree (i.e., a BomRoot object)
+ stdair::BomRoot& lBomRoot =
+ stdair::FacBom<stdair::BomRoot>::instance().create();
+
+ // Step 0.1: Inventory level
+ // Create an Inventory for BA
+ const stdair::InventoryKey lBAKey ("BA");
+ stdair::Inventory& lBAInv =
+ stdair::FacBom<stdair::Inventory>::instance().create (lBAKey);
+ stdair::FacBomManager::addToList (lBomRoot, lBAInv);
+
+ // Create an Inventory for AF
+ const stdair::InventoryKey lAFKey ("AF");
+ stdair::Inventory& lAFInv =
+ stdair::FacBom<stdair::Inventory>::instance().create (lAFKey);
+ stdair::FacBomManager::addToList (lBomRoot, lAFInv);
+
+ // ////// BA ///////
+ // Step 0.2: Flight-date level
+ // Create a FlightDate (BA15/10-JUN-2010) for BA's Inventory
+ stdair::FlightNumber_T lFlightNumber = 15;
+ stdair::Date_T lDate (2010, 6, 10);
+ stdair::FlightDateKey lFlightDateKey (lFlightNumber, lDate);
+
+ stdair::FlightDate& lBA15_20100610_FD =
+ stdair::FacBom<stdair::FlightDate>::instance().create (lFlightDateKey);
+ stdair::FacBomManager::addToList (lBAInv, lBA15_20100610_FD);
+
+ // Display the flight-date
+ // STDAIR_LOG_DEBUG ("FlightDate: " << lBA15_20100610_FD.toString());
+
+ // Step 0.3: Segment-date level
+ // Create a first SegmentDate (LHR-SYD) for BA's Inventory
+ const stdair::AirportCode_T lLHR ("LHR");
+ const stdair::AirportCode_T lSYD ("SYD");
+ stdair::SegmentDateKey lSegmentDateKey (lLHR, lSYD);
+
+ stdair::SegmentDate& lLHRSYDSegment =
+ stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey);
+ stdair::FacBomManager::addToList (lBA15_20100610_FD, lLHRSYDSegment);
+
+ // Display the segment-date
+ // STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRSYDSegment.toString());
+
+ // Create a second SegmentDate (LHR-BKK) for BA's Inventory
+ const stdair::AirportCode_T lBKK ("BKK");
+ lSegmentDateKey = stdair::SegmentDateKey (lLHR, lBKK);
+
+ stdair::SegmentDate& lLHRBKKSegment =
+ stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey);
+ stdair::FacBomManager::addToList (lBA15_20100610_FD, lLHRBKKSegment);
+
+ // Display the segment-date
+ // STDAIR_LOG_DEBUG ("SegmentDate: " << lLHRBKKSegment.toString());
+
+
+ // Create a third SegmentDate (BKK-SYD) for BA's Inventory
+ lSegmentDateKey = stdair::SegmentDateKey (lBKK, lSYD);
+
+ stdair::SegmentDate& lBKKSYDSegment =
+ stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey);
+ stdair::FacBomManager::addToList (lBA15_20100610_FD, lBKKSYDSegment);
+
+ // Display the segment-date
+ // STDAIR_LOG_DEBUG ("SegmentDate: " << lBKKSYDSegment.toString());
+
+ // Step 0.4: Leg-date level
+ // Create a first LegDate (LHR) for BA's Inventory
+ stdair::LegDateKey lLegDateKey (lLHR);
+
+ stdair::LegDate& lLHRLeg =
+ stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey);
+ stdair::FacBomManager::addToList (lBA15_20100610_FD, lLHRLeg);
+
+ // Display the leg-date
+ // STDAIR_LOG_DEBUG ("LegDate: " << lLHRLeg.toString());
+
+ // Create a second LegDate (BKK)
+ lLegDateKey = stdair::LegDateKey (lBKK);
+
+ stdair::LegDate& lBKKLeg =
+ stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey);
+ stdair::FacBomManager::addToList (lBA15_20100610_FD, lBKKLeg);
+
+ // Display the leg-date
+ // STDAIR_LOG_DEBUG ("LegDate: " << lBKKLeg.toString());
+
+ // Step 0.5: segment-cabin level
+ // Create a SegmentCabin (Y) for the Segment LHR-BKK of BA's Inventory
+ const stdair::CabinCode_T lY ("Y");
+ stdair::SegmentCabinKey lYSegmentCabinKey (lY);
+
+ stdair::SegmentCabin& lLHRBKKSegmentYCabin =
+ stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey);
+ stdair::FacBomManager::addToList (lLHRBKKSegment, lLHRBKKSegmentYCabin);
+
+ // Display the segment-cabin
+ // STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRBKKSegmentYCabin.toString());
+
+ // Create a SegmentCabin (Y) of the Segment BKK-SYD;
+ stdair::SegmentCabin& lBKKSYDSegmentYCabin =
+ stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey);
+ stdair::FacBomManager::addToList (lBKKSYDSegment, lBKKSYDSegmentYCabin);
+
+ // Display the segment-cabin
+ // STDAIR_LOG_DEBUG ("SegmentCabin: " << lBKKSYDSegmentYCabin.toString());
+
+ // Create a SegmentCabin (Y) of the Segment LHR-SYD;
+ stdair::SegmentCabin& lLHRSYDSegmentYCabin =
+ stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey);
+ stdair::FacBomManager::addToList (lLHRSYDSegment, lLHRSYDSegmentYCabin);
+
+ // Display the segment-cabin
+ // STDAIR_LOG_DEBUG ("SegmentCabin: " << lLHRSYDSegmentYCabin.toString());
+
+ // Step 0.6: leg-cabin level
+ // Create a LegCabin (Y) for the Leg LHR-BKK on BA's Inventory
+ stdair::LegCabinKey lYLegCabinKey (lY);
+
+ stdair::LegCabin& lLHRLegYCabin =
+ stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey);
+ stdair::FacBomManager::addToList (lLHRLeg, lLHRLegYCabin);
+
+ // Display the leg-cabin
+ // STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString());
+
+ // Create a LegCabin (Y) for the Leg BKK-SYD
+ stdair::LegCabin& lBKKLegYCabin =
+ stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey);
+ stdair::FacBomManager::addToList (lBKKLeg, lBKKLegYCabin);
+
+ // Display the leg-cabin
+ // STDAIR_LOG_DEBUG ("LegCabin: " << lBKKLegYCabin.toString());
+
+ // Step 0.7: booking class level
+ // Create a BookingClass (Q) for the Segment LHR-BKK, cabin Y on BA's Inv
+ const stdair::ClassCode_T lQ ("Q");
+ stdair::BookingClassKey lQBookingClassKey (lQ);
+
+ stdair::BookingClass& lLHRBKKSegmentYCabinQClass =
+ stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey);
+ stdair::FacBomManager::addToList (lLHRBKKSegmentYCabin,
+ lLHRBKKSegmentYCabinQClass);
+
+ // Display the booking class
+ // STDAIR_LOG_DEBUG ("BookingClass: "
+ // << lLHRBKKSegmentYCabinQClass.toString());
+
+ // Create a BookingClass (Q) for the Segment BKK-LHR, cabin Y
+ stdair::BookingClass& lBKKSYDSegmentYCabinQClass =
+ stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey);
+ stdair::FacBomManager::addToList (lBKKSYDSegmentYCabin,
+ lBKKSYDSegmentYCabinQClass);
+
+ // Display the booking class
+ // STDAIR_LOG_DEBUG ("BookingClass: "
+ // << lLHRBKKSegmentYCabinQClass.toString());
+
+ // Create a BookingClass (Q) for the Segment LHR-SYD, cabin Y
+ stdair::BookingClass& lLHRSYDSegmentYCabinQClass =
+ stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey);
+ stdair::FacBomManager::addToList (lLHRSYDSegmentYCabin,
+ lLHRSYDSegmentYCabinQClass);
+
+ // Display the booking class
+ // STDAIR_LOG_DEBUG ("BookingClass: "
+ // << lLHRBKKSegmentYCabinQClass.toString());
+
+
+ // ////// AF ///////
+ // Step 0.2: Flight-date level
+ // Create a FlightDate (AF102/20-MAR-2010) for AF's Inventory
+ lFlightNumber = 102;
+ lDate = stdair::Date_T (2010, 3, 20);
+ lFlightDateKey = stdair::FlightDateKey (lFlightNumber, lDate);
+
+ stdair::FlightDate& lAF102_20100320_FD =
+ stdair::FacBom<stdair::FlightDate>::instance().create (lFlightDateKey);
+ stdair::FacBomManager::addToList (lAFInv, lAF102_20100320_FD);
+
+ // Display the flight-date
+ // STDAIR_LOG_DEBUG ("FlightDate: " << lAF102_20100320_FD.toString());
+
+ // Step 0.3: Segment-date level
+ // Create a SegmentDate (CDG-SFO) for AF's Inventory
+ const stdair::AirportCode_T lCDG ("CDG");
+ const stdair::AirportCode_T lSFO ("SFO");
+ lSegmentDateKey = stdair::SegmentDateKey (lCDG, lSFO);
+
+ stdair::SegmentDate& lCDGSFOSegment =
+ stdair::FacBom<stdair::SegmentDate>::instance().create (lSegmentDateKey);
+ stdair::FacBomManager::addToList (lAF102_20100320_FD, lCDGSFOSegment);
+
+ // Display the segment-date
+ // STDAIR_LOG_DEBUG ("SegmentDate: " << lCDGSFOSegment.toString());
+
+ // Step 0.4: Leg-date level
+ // Create a LegDate (CDG) for AF's Inventory
+ lLegDateKey = stdair::LegDateKey (lCDG);
+
+ stdair::LegDate& lCDGLeg =
+ stdair::FacBom<stdair::LegDate>::instance().create (lLegDateKey);
+ stdair::FacBomManager::addToList (lAF102_20100320_FD, lCDGLeg);
+
+ // Display the leg-date
+ // STDAIR_LOG_DEBUG ("LegDate: " << lCDGLeg.toString());
+
+ // Step 0.5: segment-cabin level
+ // Create a SegmentCabin (Y) for the Segment CDG-SFO of AF's Inventory
+ stdair::SegmentCabin& lCDGSFOSegmentYCabin =
+ stdair::FacBom<stdair::SegmentCabin>::instance().create(lYSegmentCabinKey);
+ stdair::FacBomManager::addToList (lCDGSFOSegment, lCDGSFOSegmentYCabin);
+
+ // Display the segment-cabin
+ // STDAIR_LOG_DEBUG ("SegmentCabin: " << lCDGSFOSegmentYCabin.toString());
+
+ // Step 0.6: leg-cabin level
+ // Create a LegCabin (Y) for the Leg CDG-SFO on AF's Inventory
+ stdair::LegCabin& lCDGLegYCabin =
+ stdair::FacBom<stdair::LegCabin>::instance().create (lYLegCabinKey);
+ stdair::FacBomManager::addToList (lCDGLeg, lCDGLegYCabin);
+
+ // Display the leg-cabin
+ // STDAIR_LOG_DEBUG ("LegCabin: " << lLHRLegYCabin.toString());
+
+ // Step 0.7: booking class level
+ // Create a BookingClass (Q) for the Segment CDG-SFO, cabin Y on AF's Inv
+ stdair::BookingClass& lCDGSFOSegmentYCabinQClass =
+ stdair::FacBom<stdair::BookingClass>::instance().create(lQBookingClassKey);
+ stdair::FacBomManager::addToList (lCDGSFOSegmentYCabin,
+ lCDGSFOSegmentYCabinQClass);
+
+ // Display the booking class
+ // STDAIR_LOG_DEBUG ("BookingClass: "
+ // << lCDGSFOSegmentYCabinQClass.toString());
+
+
+ // /////////// Step 1.0: Display the BOM tree //////////
+ // 1.1. Inventory level
+ const stdair::InventoryList_T& lInventoryList =
+ stdair::BomManager::getList<stdair::Inventory> (lBomRoot);
+ for (stdair::InventoryList_T::const_iterator itInv = lInventoryList.begin();
+ itInv != lInventoryList.end(); ++itInv) {
+ const stdair::Inventory* lInv_ptr = *itInv;
+ assert (lInv_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("Inventory: " << lInv_ptr->describeKey());
+ STDAIR_LOG_DEBUG (lInv_ptr->describeKey());
+
+ // 1.2. FlightDate level
+ const stdair::FlightDateList_T& lFlightDateList =
+ stdair::BomManager::getList<stdair::FlightDate> (*lInv_ptr);
+ for (stdair::FlightDateList_T::const_iterator itFD=lFlightDateList.begin();
+ itFD != lFlightDateList.end(); ++itFD) {
+ const stdair::FlightDate* lFD_ptr = *itFD;
+ assert (lFD_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("FlightDate: " << lFD_ptr->toString());
+ STDAIR_LOG_DEBUG (" " << lFD_ptr->toString());
+
+ // 1.4. LegDate level
+ const stdair::LegDateList_T& lLegDateList =
+ stdair::BomManager::getList<stdair::LegDate> (*lFD_ptr);
+ for (stdair::LegDateList_T::const_iterator itLD =
+ lLegDateList.begin();
+ itLD != lLegDateList.end(); ++itLD) {
+ const stdair::LegDate* lLD_ptr = *itLD;
+ assert (lFD_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("LegDate: " << lLD_ptr->toString());
+ STDAIR_LOG_DEBUG (" " << lLD_ptr->toString());
+
+ // 1.6. LegCabin level
+ const stdair::LegCabinList_T& lLegCabinList =
+ stdair::BomManager::getList<stdair::LegCabin> (*lLD_ptr);
+ for (stdair::LegCabinList_T::const_iterator itLC =
+ lLegCabinList.begin();
+ itLC != lLegCabinList.end(); ++itLC) {
+ const stdair::LegCabin* lLC_ptr = *itLC;
+ assert (lFD_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("LegCabin: " << lLC_ptr->toString());
+ STDAIR_LOG_DEBUG (" " << lLC_ptr->toString());
+ }
+ }
+
+ // 1.3. SegmentDate level
+ const stdair::SegmentDateList_T& lSegmentDateList =
+ stdair::BomManager::getList<stdair::SegmentDate> (*lFD_ptr);
+ for (stdair::SegmentDateList_T::const_iterator itSD =
+ lSegmentDateList.begin();
+ itSD != lSegmentDateList.end(); ++itSD) {
+ const stdair::SegmentDate* lSD_ptr = *itSD;
+ assert (lFD_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("SegmentDate: " << lSD_ptr->toString());
+ STDAIR_LOG_DEBUG (" " << lSD_ptr->toString());
+
+ // 1.5. SegmentCabin level
+ const stdair::SegmentCabinList_T& lSegmentCabinList =
+ stdair::BomManager::getList<stdair::SegmentCabin> (*lSD_ptr);
+ for (stdair::SegmentCabinList_T::const_iterator itSC =
+ lSegmentCabinList.begin();
+ itSC != lSegmentCabinList.end(); ++itSC) {
+ const stdair::SegmentCabin* lSC_ptr = *itSC;
+ assert (lFD_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("SegmentCabin: " << lSC_ptr->toString());
+ STDAIR_LOG_DEBUG (" " << lSC_ptr->toString());
+
+ // 1.7. BookingClass level
+ const stdair::BookingClassList_T& lBookingClassList =
+ stdair::BomManager::getList<stdair::BookingClass> (*lSC_ptr);
+ for (stdair::BookingClassList_T::const_iterator itBC =
+ lBookingClassList.begin();
+ itBC != lBookingClassList.end(); ++itBC) {
+ const stdair::BookingClass* lBC_ptr = *itBC;
+ assert (lFD_ptr != NULL);
+
+ // STDAIR_LOG_DEBUG ("BookingClass: " << lBC_ptr->toString());
+ STDAIR_LOG_DEBUG (" " << lBC_ptr->toString());
+ }
+ }
+ }
+ }
+ }
+
+ } catch (const std::exception& stde) {
+ STDAIR_LOG_ERROR ("Standard exception: " << stde.what());
+ }
+}
+
+// ///////// M A I N ////////////
+int main (int argc, char* argv[]) {
+
+ try {
+
+ // Built-in
+ bool isBuiltin;
+
+ // Input file name
+ stdair::Filename_T lInputFilename;
+
+ // Output log File
+ std::string lLogFilename;
+
+ // Call the command-line option parser
+ const int lOptionParserStatus =
+ readConfiguration (argc, argv, isBuiltin, lInputFilename, lLogFilename);
+
+ if (lOptionParserStatus == K_STDAIR_EARLY_RETURN_STATUS) {
+ return 0;
+ }
+
+ // Set the log parameters
+ std::ofstream logOutputFile;
+ // Open and clean the log outputfile
+ logOutputFile.open (lLogFilename.c_str());
+ logOutputFile.clear();
+
+ const stdair::BasLogParams lLogParams (stdair::LOG::DEBUG, logOutputFile);
+ stdair::STDAIR_Service stdairService (lLogParams);
+
+ // DEBUG
+ STDAIR_LOG_DEBUG ("Welcome to stdair");
+
+ // Check wether or not a (CSV) input file should be read
+ if (isBuiltin == true) {
+ // Build a sample BOM tree
+ buildSampleBom();
+
+ } else {
+ // Read the input file
+ //stdairService.readFromInputFile (lInputFilename);
+
+ // DEBUG
+ STDAIR_LOG_DEBUG ("StdAir will parse " << lInputFilename
+ << " and build the corresponding BOM tree.");
+ }
+
+ // Close the Log outputFile
+ logOutputFile.close();
+
+ } catch (const std::exception& stde) {
+ std::cerr << "Standard exception: " << stde.what() << std::endl;
+ return -1;
+
+ } catch (...) {
+ return -1;
+ }
+
+ return 0;
+}
Modified: branches/stdair/0.4.0/main/configure.ac
===================================================================
--- branches/stdair/0.4.0/main/configure.ac 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/configure.ac 2010-09-06 15:24:06 UTC (rev 313)
@@ -211,8 +211,7 @@
stdair/command/Makefile
stdair/config/Makefile
stdair/service/Makefile
- stdair/core/Makefile
- stdair/batches/Makefile
+ batches/Makefile
man/Makefile
doc/Makefile
doc/images/Makefile
Modified: branches/stdair/0.4.0/main/doc/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/doc/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/doc/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -8,7 +8,7 @@
include $(top_srcdir)/stdair/dbadaptor/sources.mk
include $(top_srcdir)/stdair/command/sources.mk
include $(top_srcdir)/stdair/service/sources.mk
-include $(top_srcdir)/stdair/core/sources.mk
+include $(top_srcdir)/stdair/sources.mk
SUBDIRS = images tutorial local
Modified: branches/stdair/0.4.0/main/stdair/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/stdair/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -1,18 +1,33 @@
# stdair
include $(top_srcdir)/Makefile.common
-include $(srcdir)/core/sources.mk
+include $(srcdir)/sources.mk
## Source directory
MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = basic bom dbadaptor factory command config service core batches
+SUBDIRS = basic bom dbadaptor factory command config service
#EXTRA_DIST = config_msvc.h
EXTRA_DIST =
+# Library
+lib_LTLIBRARIES = libstdair.la
+libstdair_la_SOURCES = $(stdair_service_h_sources) $(stdair_service_cc_sources)
+libstdair_la_LIBADD = \
+ $(top_builddir)/stdair/basic/libstdairbas.la \
+ $(top_builddir)/stdair/bom/libstdairbom.la \
+ $(top_builddir)/stdair/dbadaptor/libstdairdba.la \
+ $(top_builddir)/stdair/factory/libstdairfac.la \
+ $(top_builddir)/stdair/command/libstdaircmd.la \
+ $(top_builddir)/stdair/service/libstdairsvc.la
+libstdair_la_LDFLAGS = \
+ $(BOOST_DATE_TIME_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) \
+ $(BOOST_FILESYSTEM_LIB) $(SOCI_LIBS) \
+ -version-info $(GENERIC_LIBRARY_VERSION)
+
# Header files
-#nobase_pkginclude_HEADERS = $(service_h_sources)
-#nobase_nodist_pkginclude_HEADERS = $(top_builddir)/@PACKAGE@/config.h
+pkgincludedir = $(includedir)/stdair
+pkginclude_HEADERS = $(stdair_service_h_sources)
Modified: branches/stdair/0.4.0/main/stdair/core/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/core/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/stdair/core/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -1,31 +0,0 @@
-# stdair/core
-include $(top_srcdir)/Makefile.common
-include $(srcdir)/sources.mk
-
-## Source directory
-
-MAINTAINERCLEANFILES = Makefile.in
-
-SUBDIRS =
-
-
-# Library
-lib_LTLIBRARIES = libstdair.la
-
-libstdair_la_SOURCES = $(stdair_service_h_sources) $(stdair_service_cc_sources)
-libstdair_la_LIBADD = \
- $(top_builddir)/stdair/basic/libstdairbas.la \
- $(top_builddir)/stdair/bom/libstdairbom.la \
- $(top_builddir)/stdair/dbadaptor/libstdairdba.la \
- $(top_builddir)/stdair/factory/libstdairfac.la \
- $(top_builddir)/stdair/command/libstdaircmd.la \
- $(top_builddir)/stdair/service/libstdairsvc.la
-libstdair_la_LDFLAGS = \
- $(BOOST_DATE_TIME_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) \
- $(BOOST_FILESYSTEM_LIB) $(SOCI_LIBS) \
- -version-info $(GENERIC_LIBRARY_VERSION)
-
-#
-pkgincludedir = $(includedir)/stdair
-pkginclude_HEADERS = $(stdair_service_h_sources)
-
Modified: branches/stdair/0.4.0/main/stdair/core/sources.mk
===================================================================
--- branches/stdair/0.4.0/main/stdair/core/sources.mk 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/stdair/core/sources.mk 2010-09-06 15:24:06 UTC (rev 313)
@@ -1,4 +0,0 @@
-stdair_service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \
- $(top_srcdir)/stdair/STDAIR_Service.hpp
-stdair_service_cc_sources =
-
Added: branches/stdair/0.4.0/main/stdair/sources.mk
===================================================================
--- branches/stdair/0.4.0/main/stdair/sources.mk (rev 0)
+++ branches/stdair/0.4.0/main/stdair/sources.mk 2010-09-06 15:24:06 UTC (rev 313)
@@ -0,0 +1,8 @@
+stdair_service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \
+ $(top_srcdir)/stdair/STDAIR_Service.hpp
+stdair_service_cc_sources =
+
+stdair_service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \
+ $(top_srcdir)/stdair/STDAIR_Service.hpp
+stdair_service_cc_sources =
+
Modified: branches/stdair/0.4.0/main/test/architecture/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/test/architecture/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/test/architecture/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -12,6 +12,6 @@
architecture_CXXFLAGS = $(BOOST_CFLAGS)
architecture_LDADD = $(BOOST_LIB)
architecture_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
EXTRA_DIST =
Modified: branches/stdair/0.4.0/main/test/stdair/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/test/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
+++ branches/stdair/0.4.0/main/test/stdair/Makefile.am 2010-09-06 15:24:06 UTC (rev 313)
@@ -19,7 +19,7 @@
$(stdair_test_lib_cc_sources)
libstdairtest_la_CXXFLAGS =
libstdairtest_la_LDFLAGS = \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
##
@@ -36,4 +36,4 @@
StandardAirlineITTestSuite_LDADD =
StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) $(EXTRACC_LIBS)\
$(top_builddir)/test/stdair/libstdairtest.la \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-06 15:17:58
|
Revision: 312
http://stdair.svn.sourceforge.net/stdair/?rev=312&view=rev
Author: clacombe
Date: 2010-09-06 15:17:48 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Config] keep stdair directory for the lib creation only
Modified Paths:
--------------
trunk/stdair/Makefile.am
trunk/stdair/batches/Makefile.am
trunk/stdair/batches/sources.mk
trunk/stdair/configure.ac
trunk/stdair/doc/Makefile.am
trunk/stdair/stdair/Makefile.am
trunk/stdair/test/architecture/Makefile.am
trunk/stdair/test/stdair/Makefile.am
Added Paths:
-----------
trunk/stdair/batches/
trunk/stdair/stdair/sources.mk
Removed Paths:
-------------
trunk/stdair/stdair/batches/
trunk/stdair/stdair/core/
Modified: trunk/stdair/Makefile.am
===================================================================
--- trunk/stdair/Makefile.am 2010-09-06 13:52:53 UTC (rev 311)
+++ trunk/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
@@ -30,7 +30,7 @@
EXTRA_DIST =
# Build in these directories:
-SUBDIRS = stdair man $(HTML_DOC_DIR) $(TEST_DIR)
+SUBDIRS = stdair batches man $(HTML_DOC_DIR) $(TEST_DIR)
# Configuration helpers
Modified: trunk/stdair/batches/Makefile.am
===================================================================
--- trunk/stdair/stdair/batches/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
+++ trunk/stdair/batches/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
@@ -14,4 +14,4 @@
stdair_CXXFLAGS = $(BOOST_CFLAGS)
stdair_LDADD =
stdair_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
Modified: trunk/stdair/batches/sources.mk
===================================================================
--- trunk/stdair/stdair/batches/sources.mk 2010-09-06 12:38:03 UTC (rev 307)
+++ trunk/stdair/batches/sources.mk 2010-09-06 15:17:48 UTC (rev 312)
@@ -1,3 +1,3 @@
#
stdair_batches_h_sources =
-stdair_batches_cc_sources = $(top_srcdir)/stdair/batches/stdair.cpp
+stdair_batches_cc_sources = $(top_srcdir)/batches/stdair.cpp
Modified: trunk/stdair/configure.ac
===================================================================
--- trunk/stdair/configure.ac 2010-09-06 13:52:53 UTC (rev 311)
+++ trunk/stdair/configure.ac 2010-09-06 15:17:48 UTC (rev 312)
@@ -211,8 +211,7 @@
stdair/command/Makefile
stdair/config/Makefile
stdair/service/Makefile
- stdair/core/Makefile
- stdair/batches/Makefile
+ batches/Makefile
man/Makefile
doc/Makefile
doc/images/Makefile
Modified: trunk/stdair/doc/Makefile.am
===================================================================
--- trunk/stdair/doc/Makefile.am 2010-09-06 13:52:53 UTC (rev 311)
+++ trunk/stdair/doc/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
@@ -8,7 +8,7 @@
include $(top_srcdir)/stdair/dbadaptor/sources.mk
include $(top_srcdir)/stdair/command/sources.mk
include $(top_srcdir)/stdair/service/sources.mk
-include $(top_srcdir)/stdair/core/sources.mk
+include $(top_srcdir)/stdair/sources.mk
SUBDIRS = images tutorial local
Modified: trunk/stdair/stdair/Makefile.am
===================================================================
--- trunk/stdair/stdair/Makefile.am 2010-09-06 13:52:53 UTC (rev 311)
+++ trunk/stdair/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
@@ -1,18 +1,33 @@
# stdair
include $(top_srcdir)/Makefile.common
-include $(srcdir)/core/sources.mk
+include $(srcdir)/sources.mk
## Source directory
MAINTAINERCLEANFILES = Makefile.in
-SUBDIRS = basic bom dbadaptor factory command config service core batches
+SUBDIRS = basic bom dbadaptor factory command config service
#EXTRA_DIST = config_msvc.h
EXTRA_DIST =
+# Library
+lib_LTLIBRARIES = libstdair.la
+libstdair_la_SOURCES = $(stdair_service_h_sources) $(stdair_service_cc_sources)
+libstdair_la_LIBADD = \
+ $(top_builddir)/stdair/basic/libstdairbas.la \
+ $(top_builddir)/stdair/bom/libstdairbom.la \
+ $(top_builddir)/stdair/dbadaptor/libstdairdba.la \
+ $(top_builddir)/stdair/factory/libstdairfac.la \
+ $(top_builddir)/stdair/command/libstdaircmd.la \
+ $(top_builddir)/stdair/service/libstdairsvc.la
+libstdair_la_LDFLAGS = \
+ $(BOOST_DATE_TIME_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) \
+ $(BOOST_FILESYSTEM_LIB) $(SOCI_LIBS) \
+ -version-info $(GENERIC_LIBRARY_VERSION)
+
# Header files
-#nobase_pkginclude_HEADERS = $(service_h_sources)
-#nobase_nodist_pkginclude_HEADERS = $(top_builddir)/@PACKAGE@/config.h
+pkgincludedir = $(includedir)/stdair
+pkginclude_HEADERS = $(stdair_service_h_sources)
Copied: trunk/stdair/stdair/sources.mk (from rev 307, trunk/stdair/stdair/core/sources.mk)
===================================================================
--- trunk/stdair/stdair/sources.mk (rev 0)
+++ trunk/stdair/stdair/sources.mk 2010-09-06 15:17:48 UTC (rev 312)
@@ -0,0 +1,4 @@
+stdair_service_h_sources = $(top_srcdir)/stdair/STDAIR_Types.hpp \
+ $(top_srcdir)/stdair/STDAIR_Service.hpp
+stdair_service_cc_sources =
+
Modified: trunk/stdair/test/architecture/Makefile.am
===================================================================
--- trunk/stdair/test/architecture/Makefile.am 2010-09-06 13:52:53 UTC (rev 311)
+++ trunk/stdair/test/architecture/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
@@ -12,6 +12,6 @@
architecture_CXXFLAGS = $(BOOST_CFLAGS)
architecture_LDADD = $(BOOST_LIB)
architecture_LDFLAGS = $(BOOST_PROGRAM_OPTIONS_LIB) \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
EXTRA_DIST =
Modified: trunk/stdair/test/stdair/Makefile.am
===================================================================
--- trunk/stdair/test/stdair/Makefile.am 2010-09-06 13:52:53 UTC (rev 311)
+++ trunk/stdair/test/stdair/Makefile.am 2010-09-06 15:17:48 UTC (rev 312)
@@ -19,7 +19,7 @@
$(stdair_test_lib_cc_sources)
libstdairtest_la_CXXFLAGS =
libstdairtest_la_LDFLAGS = \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
##
@@ -36,4 +36,4 @@
StandardAirlineITTestSuite_LDADD =
StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) $(EXTRACC_LIBS)\
$(top_builddir)/test/stdair/libstdairtest.la \
- $(top_builddir)/stdair/core/libstdair.la
+ $(top_builddir)/stdair/libstdair.la
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-06 13:52:59
|
Revision: 311
http://stdair.svn.sourceforge.net/stdair/?rev=311&view=rev
Author: clacombe
Date: 2010-09-06 13:52:53 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Packaging] Replace extracc external ref to dependency and change release number
Modified Paths:
--------------
branches/stdair/0.4.0/main/configure.ac
branches/stdair/0.4.0/main/stdair.spec
Modified: branches/stdair/0.4.0/main/configure.ac
===================================================================
--- branches/stdair/0.4.0/main/configure.ac 2010-09-06 13:50:26 UTC (rev 310)
+++ branches/stdair/0.4.0/main/configure.ac 2010-09-06 13:52:53 UTC (rev 311)
@@ -2,7 +2,7 @@
#-------------------------------------------------------------------
AC_PREREQ(2.59)
AC_COPYRIGHT([Copyright (C) 2007-2010 Denis Arnaud <den...@us...>])
-AC_INIT([STDAIR],[99.99.99],[den...@us...],[stdair])
+AC_INIT([STDAIR],[0.4.0],[den...@us...],[stdair])
AC_CONFIG_HEADER([stdair/config.h])
AC_CONFIG_SRCDIR([stdair/bom/BomRoot.hpp])
AC_CONFIG_AUX_DIR([config])
@@ -11,7 +11,7 @@
AM_CONDITIONAL([HAVE_CPPUNIT], [test "x$CPPUNIT_LIBS" != x])
# Shared library versioning
-GENERIC_LIBRARY_VERSION="99:99:99"
+GENERIC_LIBRARY_VERSION="0:4:0"
# | | |
# +------+ | +---+
# | | |
Modified: branches/stdair/0.4.0/main/stdair.spec
===================================================================
--- branches/stdair/0.4.0/main/stdair.spec 2010-09-06 13:50:26 UTC (rev 310)
+++ branches/stdair/0.4.0/main/stdair.spec 2010-09-06 13:52:53 UTC (rev 311)
@@ -2,7 +2,7 @@
%global mydocs __tmp_docdir
#
Name: stdair
-Version: 99.99.99
+Version: 0.4.0
Release: 1%{?dist}
Summary: C++ Standard Airline IT Object Library
@@ -15,10 +15,7 @@
BuildRequires: boost-devel
BuildRequires: soci-mysql-devel
-# When the extracc package will be approved, uncomment the following line
-# (see https://bugzilla.redhat.com/show_bug.cgi?id=616881 for more details)
-#BuildRequires: extracc-devel
-BuildRequires: cppunit-devel
+BuildRequires: extracc-devel
%description
@@ -76,8 +73,6 @@
# Remove unpackaged files from the buildroot
rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la
-# When the extracc package will be approved, the following line has to be removed
-rm -f $RPM_BUILD_ROOT%{_libdir}/libextracppunit.la
mkdir -p %{mydocs}
mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html %{mydocs}
@@ -102,12 +97,8 @@
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}
-# When the extracc package will be approved, the following line has to be removed
-%{_includedir}/extracppunit
%{_bindir}/%{name}-config
%{_libdir}/lib%{name}.so
-# When the extracc package will be approved, the following line has to be removed
-%{_libdir}/libextracppunit.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
%{_mandir}/man1/%{name}-config.1.*
@@ -120,8 +111,8 @@
%changelog
-* Sun Aug 30 2010 Son Nguyen Kim <ngu...@gm...> 99.99.99-1
-- Upstream update
+* Fri Sep 03 2010 Son Nguyen Kim <ngu...@gm...> 0.4.0-1
+- Replace extracc external ref to dependency
* Sun Aug 29 2010 Son Nguyen Kim <ngu...@gm...> 0.3.0-1
- Upstream update
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-06 13:50:33
|
Revision: 310
http://stdair.svn.sourceforge.net/stdair/?rev=310&view=rev
Author: clacombe
Date: 2010-09-06 13:50:26 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Packaging] Replace extracc external ref to dependency
Modified Paths:
--------------
trunk/stdair/stdair.spec
Modified: trunk/stdair/stdair.spec
===================================================================
--- trunk/stdair/stdair.spec 2010-09-06 13:46:07 UTC (rev 309)
+++ trunk/stdair/stdair.spec 2010-09-06 13:50:26 UTC (rev 310)
@@ -15,10 +15,7 @@
BuildRequires: boost-devel
BuildRequires: soci-mysql-devel
-# When the extracc package will be approved, uncomment the following line
-# (see https://bugzilla.redhat.com/show_bug.cgi?id=616881 for more details)
-#BuildRequires: extracc-devel
-BuildRequires: cppunit-devel
+BuildRequires: extracc-devel
%description
@@ -76,8 +73,6 @@
# Remove unpackaged files from the buildroot
rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la
-# When the extracc package will be approved, the following line has to be removed
-rm -f $RPM_BUILD_ROOT%{_libdir}/libextracppunit.la
mkdir -p %{mydocs}
mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html %{mydocs}
@@ -102,12 +97,8 @@
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}
-# When the extracc package will be approved, the following line has to be removed
-%{_includedir}/extracppunit
%{_bindir}/%{name}-config
%{_libdir}/lib%{name}.so
-# When the extracc package will be approved, the following line has to be removed
-%{_libdir}/libextracppunit.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
%{_mandir}/man1/%{name}-config.1.*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-06 13:46:14
|
Revision: 309
http://stdair.svn.sourceforge.net/stdair/?rev=309&view=rev
Author: clacombe
Date: 2010-09-06 13:46:07 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Conf] Fixed the variable names for installation of the header files.
Modified Paths:
--------------
branches/stdair/0.4.0/main/stdair/basic/Makefile.am
branches/stdair/0.4.0/main/stdair/bom/Makefile.am
branches/stdair/0.4.0/main/stdair/command/Makefile.am
branches/stdair/0.4.0/main/stdair/core/Makefile.am
branches/stdair/0.4.0/main/stdair/dbadaptor/Makefile.am
branches/stdair/0.4.0/main/stdair/factory/Makefile.am
branches/stdair/0.4.0/main/stdair/service/Makefile.am
Modified: branches/stdair/0.4.0/main/stdair/basic/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/basic/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/basic/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -12,4 +12,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/basic
-pkginclude_HEADERS = $(bas_h_sources)
+pkginclude_HEADERS = $(stdair_bas_h_sources)
+
Modified: branches/stdair/0.4.0/main/stdair/bom/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/bom/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/bom/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -12,4 +12,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/bom
-pkginclude_HEADERS = $(bom_h_sources)
+pkginclude_HEADERS = $(stdair_bom_h_sources)
+
Modified: branches/stdair/0.4.0/main/stdair/command/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/command/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/command/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -13,4 +13,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/command
-pkginclude_HEADERS = $(cmd_h_sources)
+pkginclude_HEADERS = $(stdair_cmd_h_sources)
+
Modified: branches/stdair/0.4.0/main/stdair/core/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/core/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/core/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -27,4 +27,5 @@
#
pkgincludedir = $(includedir)/stdair
-pkginclude_HEADERS = $(service_h_sources)
+pkginclude_HEADERS = $(stdair_service_h_sources)
+
Modified: branches/stdair/0.4.0/main/stdair/dbadaptor/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/dbadaptor/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/dbadaptor/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -13,4 +13,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/dbadaptor
-pkginclude_HEADERS = $(dba_h_sources)
+pkginclude_HEADERS = $(stdair_dba_h_sources)
+
Modified: branches/stdair/0.4.0/main/stdair/factory/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/factory/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/factory/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -11,4 +11,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/factory
-pkginclude_HEADERS = $(fac_h_sources)
+pkginclude_HEADERS = $(stdair_fac_h_sources)
+
Modified: branches/stdair/0.4.0/main/stdair/service/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/service/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
+++ branches/stdair/0.4.0/main/stdair/service/Makefile.am 2010-09-06 13:46:07 UTC (rev 309)
@@ -12,4 +12,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/service
-pkginclude_HEADERS = $(svc_h_sources)
+pkginclude_HEADERS = $(stdair_svc_h_sources)
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-06 13:45:40
|
Revision: 308
http://stdair.svn.sourceforge.net/stdair/?rev=308&view=rev
Author: clacombe
Date: 2010-09-06 13:45:34 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Conf] Fixed the variable names for installation of the header files.
Modified Paths:
--------------
branches/stdair/0.4.0/main/stdair/Makefile.am
Modified: branches/stdair/0.4.0/main/stdair/Makefile.am
===================================================================
--- branches/stdair/0.4.0/main/stdair/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
+++ branches/stdair/0.4.0/main/stdair/Makefile.am 2010-09-06 13:45:34 UTC (rev 308)
@@ -15,3 +15,4 @@
# Header files
#nobase_pkginclude_HEADERS = $(service_h_sources)
#nobase_nodist_pkginclude_HEADERS = $(top_builddir)/@PACKAGE@/config.h
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-06 12:38:14
|
Revision: 307
http://stdair.svn.sourceforge.net/stdair/?rev=307&view=rev
Author: denis_arnaud
Date: 2010-09-06 12:38:03 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Conf] Fixed the variable names for installation of the header files.
Modified Paths:
--------------
trunk/stdair/stdair/Makefile.am
trunk/stdair/stdair/basic/Makefile.am
trunk/stdair/stdair/bom/Makefile.am
trunk/stdair/stdair/command/Makefile.am
trunk/stdair/stdair/core/Makefile.am
trunk/stdair/stdair/dbadaptor/Makefile.am
trunk/stdair/stdair/factory/Makefile.am
trunk/stdair/stdair/service/Makefile.am
Modified: trunk/stdair/stdair/Makefile.am
===================================================================
--- trunk/stdair/stdair/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -15,3 +15,4 @@
# Header files
#nobase_pkginclude_HEADERS = $(service_h_sources)
#nobase_nodist_pkginclude_HEADERS = $(top_builddir)/@PACKAGE@/config.h
+
Modified: trunk/stdair/stdair/basic/Makefile.am
===================================================================
--- trunk/stdair/stdair/basic/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/basic/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -12,4 +12,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/basic
-pkginclude_HEADERS = $(bas_h_sources)
+pkginclude_HEADERS = $(stdair_bas_h_sources)
+
Modified: trunk/stdair/stdair/bom/Makefile.am
===================================================================
--- trunk/stdair/stdair/bom/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/bom/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -12,4 +12,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/bom
-pkginclude_HEADERS = $(bom_h_sources)
+pkginclude_HEADERS = $(stdair_bom_h_sources)
+
Modified: trunk/stdair/stdair/command/Makefile.am
===================================================================
--- trunk/stdair/stdair/command/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/command/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -13,4 +13,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/command
-pkginclude_HEADERS = $(cmd_h_sources)
+pkginclude_HEADERS = $(stdair_cmd_h_sources)
+
Modified: trunk/stdair/stdair/core/Makefile.am
===================================================================
--- trunk/stdair/stdair/core/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/core/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -27,4 +27,5 @@
#
pkgincludedir = $(includedir)/stdair
-pkginclude_HEADERS = $(service_h_sources)
+pkginclude_HEADERS = $(stdair_service_h_sources)
+
Modified: trunk/stdair/stdair/dbadaptor/Makefile.am
===================================================================
--- trunk/stdair/stdair/dbadaptor/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/dbadaptor/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -13,4 +13,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/dbadaptor
-pkginclude_HEADERS = $(dba_h_sources)
+pkginclude_HEADERS = $(stdair_dba_h_sources)
+
Modified: trunk/stdair/stdair/factory/Makefile.am
===================================================================
--- trunk/stdair/stdair/factory/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/factory/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -11,4 +11,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/factory
-pkginclude_HEADERS = $(fac_h_sources)
+pkginclude_HEADERS = $(stdair_fac_h_sources)
+
Modified: trunk/stdair/stdair/service/Makefile.am
===================================================================
--- trunk/stdair/stdair/service/Makefile.am 2010-09-06 10:21:00 UTC (rev 306)
+++ trunk/stdair/stdair/service/Makefile.am 2010-09-06 12:38:03 UTC (rev 307)
@@ -12,4 +12,5 @@
# Header files
pkgincludedir = $(includedir)/stdair/service
-pkginclude_HEADERS = $(svc_h_sources)
+pkginclude_HEADERS = $(stdair_svc_h_sources)
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-06 10:21:07
|
Revision: 306
http://stdair.svn.sourceforge.net/stdair/?rev=306&view=rev
Author: denis_arnaud
Date: 2010-09-06 10:21:00 +0000 (Mon, 06 Sep 2010)
Log Message:
-----------
[Config] Added a M4 macro file for StdAir.
Added Paths:
-----------
trunk/stdair/config/stdair.m4
Added: trunk/stdair/config/stdair.m4
===================================================================
--- trunk/stdair/config/stdair.m4 (rev 0)
+++ trunk/stdair/config/stdair.m4 2010-09-06 10:21:00 UTC (rev 306)
@@ -0,0 +1,124 @@
+#
+# Configure path for the STDAIR library.
+# Denis Arnaud <den...@us...>, July 2008
+#
+# Note: as the STDAIR library depends upon GSL (and
+# potentially BOOST) to build. Your configure.ac must define
+# appropriately the GSL_CFLAGS (and potentially BOOST_CFLAGS)
+# variables.
+#
+
+
+AC_DEFUN([AM_PATH_STDAIR],
+[
+AC_LANG_SAVE
+AC_LANG([C++])
+
+AC_ARG_WITH(stdair,
+ [ --with-stdair=PFX Prefix where STDAIR is installed (optional)],
+ stdair_dir="$withval",
+ stdair_dir="")
+
+ if test "x${STDAIR_CONFIG+set}" != xset ; then
+ if test "x$stdair_dir" != x ; then
+ STDAIR_CONFIG="$stdair_dir/bin/stdair-config"
+ fi
+ fi
+
+ AC_PATH_PROG(STDAIR_CONFIG, stdair-config, no)
+
+ # Check whether Boost flags and libraries are defined
+ AC_MSG_CHECKING(for GSL_CFLAGS environment variable)
+ if test x"${GSL_CFLAGS}" = x; then
+ AC_MSG_RESULT([Warning: STDAIR needs the GSL, and the GSL_CFLAGS environment variable does not appear to be set. It may not be a problem, though, if your Unix distribution is standard, that is, if GSL is installed in /usr/local. Otherwise, the STDAIR will fail to compile.])
+ else
+ AC_MSG_RESULT([ok (set to ${GSL_CFLAGS})])
+ fi
+
+ AC_MSG_CHECKING(for GSL_LIBS environment variable)
+ if test x"${GSL_LIBS}" = x; then
+ AC_MSG_RESULT([Warning: STDAIR needs the GSL library, and the GSL_LIBS environment variable does not appears to be set. The STDAIR may fail to link.])
+ else
+ AC_MSG_RESULT([ok (set to ${GSL_LIBS})])
+ fi
+
+ # Check whether Boost flags and libraries are defined
+# AC_MSG_CHECKING(for BOOST_CFLAGS environment variable)
+# if test x"${BOOST_CFLAGS}" = x; then
+# AC_MSG_RESULT([Warning: STDAIR needs Boost, and the BOOST_CFLAGS environment variable does not appear to be set. It may not be a problem, though, if your Unix distribution is standard, that is, if Boost is installed in /usr/local. Otherwise, the STDAIR will fail to compile.])
+# else
+# AC_MSG_RESULT([ok (set to ${BOOST_CFLAGS})])
+# fi
+
+# AC_MSG_CHECKING(for BOOST_DATE_TIME_LIB environment variable)
+# if test x"${BOOST_DATE_TIME_LIB}" = x; then
+# AC_MSG_RESULT([Warning: STDAIR needs Boost Date-Time library, and the BOOST_DATE_TIME_LIB environment variable does not appears to be set. The STDAIR may fail to link.])
+# else
+# AC_MSG_RESULT([ok (set to ${BOOST_DATE_TIME_LIB})])
+# fi
+
+ min_stdair_version=ifelse([$1], ,0.11.0,$1)
+ AC_MSG_CHECKING(for STDAIR - version >= $min_stdair_version)
+ no_stdair=""
+ if test "${STDAIR_CONFIG}" = "no" ; then
+ no_stdair=yes
+ AC_MSG_RESULT([no])
+ else
+ STDAIR_VERSION=`${STDAIR_CONFIG} --version`
+ STDAIR_CFLAGS=`${STDAIR_CONFIG} --cflags`
+ STDAIR_CFLAGS="${GSL_CFLAGS} ${STDAIR_CFLAGS}"
+# STDAIR_CFLAGS="${BOOST_CFLAGS} ${STDAIR_CFLAGS}"
+ STDAIR_LIBS=`${STDAIR_CONFIG} --libs`
+ STDAIR_LIBS="${GSL_LIBS} ${STDAIR_LIBS}"
+# STDAIR_LIBS="${BOOST_LIBS} ${BOOST_DATE_TIME_LIB} ${STDAIR_LIBS}"
+
+ AC_SUBST([STDAIR_VERSION])
+ AC_SUBST([STDAIR_CFLAGS])
+ AC_SUBST([STDAIR_LIBS])
+
+ stdair_major_version=`echo ${STDAIR_VERSION} | sed 's/^\([[0-9]]*\).*/\1/'`
+ if test "x${stdair_major_version}" = "x" ; then
+ stdair_major_version=0
+ fi
+
+ stdair_minor_version=`echo ${STDAIR_VERSION} | \
+ sed 's/^\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\).*/\2/'`
+ if test "x${stdair_minor_version}" = "x" ; then
+ stdair_minor_version=0
+ fi
+
+ stdair_micro_version=`echo ${STDAIR_VERSION} | \
+ sed 's/^\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\)\.\{0,1\}\([[0-9]]*\).*/\3/'`
+ if test "x${stdair_micro_version}" = "x" ; then
+ stdair_micro_version=0
+ fi
+
+
+ SAVED_CPPFLAGS="${CPPFLAGS}"
+ SAVED_LDFLAGS="${LDFLAGS}"
+ CPPFLAGS="${CPPFLAGS} ${GSL_CFLAGS} ${BOOST_CFLAGS} ${STDAIR_CFLAGS}"
+ LDFLAGS="${LDFLAGS} ${GSL_LIBS} ${STDAIR_LIBS}"
+
+
+ AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM([[
+ #include <stdair/STDAIR_Service.hpp>
+ ]],
+ [[int i=0;]]
+ )
+ ,
+
+ [AC_MSG_RESULT([yes (${STDAIR_VERSION})])],
+
+ [
+ AC_MSG_ERROR([We could not compile a simple STDAIR example. See config.log.])
+ ]
+ )
+
+ CPPFLAGS="${SAVED_CPPFLAGS}"
+ LDFLAGS="${SAVED_LDFLAGS}"
+
+ fi
+
+AC_LANG_RESTORE
+])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-03 14:50:41
|
Revision: 305
http://stdair.svn.sourceforge.net/stdair/?rev=305&view=rev
Author: clacombe
Date: 2010-09-03 14:50:35 +0000 (Fri, 03 Sep 2010)
Log Message:
-----------
[Packaging] Replace extracc external ref to dependency
Modified Paths:
--------------
trunk/stdair/stdair.spec
Modified: trunk/stdair/stdair.spec
===================================================================
--- trunk/stdair/stdair.spec 2010-09-03 14:00:18 UTC (rev 304)
+++ trunk/stdair/stdair.spec 2010-09-03 14:50:35 UTC (rev 305)
@@ -123,6 +123,9 @@
* Sun Aug 30 2010 Son Nguyen Kim <ngu...@gm...> 99.99.99-1
- Upstream update
+* Fri Sep 03 2010 Son Nguyen Kim <ngu...@gm...> 0.4.0-1
+- Replace extracc external ref to dependency
+
* Sun Aug 29 2010 Son Nguyen Kim <ngu...@gm...> 0.3.0-1
- Upstream update
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-03 14:00:24
|
Revision: 304
http://stdair.svn.sourceforge.net/stdair/?rev=304&view=rev
Author: clacombe
Date: 2010-09-03 14:00:18 +0000 (Fri, 03 Sep 2010)
Log Message:
-----------
[Release] Created the main 0.4.0 release branch, from revision r303.
Added Paths:
-----------
branches/stdair/0.4.0/main/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-03 13:53:26
|
Revision: 303
http://stdair.svn.sourceforge.net/stdair/?rev=303&view=rev
Author: clacombe
Date: 2010-09-03 13:53:20 +0000 (Fri, 03 Sep 2010)
Log Message:
-----------
[Packaging] Replace extracc external ref to dependency
Modified Paths:
--------------
trunk/stdair/Makefile.am
trunk/stdair/configure.ac
trunk/stdair/test/stdair/Makefile.am
Property Changed:
----------------
trunk/stdair/
Property changes on: trunk/stdair
___________________________________________________________________
Modified: svn:externals
- extracppunit https://extracc.svn.sourceforge.net/svnroot/extracc/trunk/extracc/extracppunit
+
Modified: trunk/stdair/Makefile.am
===================================================================
--- trunk/stdair/Makefile.am 2010-09-03 13:15:21 UTC (rev 302)
+++ trunk/stdair/Makefile.am 2010-09-03 13:53:20 UTC (rev 303)
@@ -30,7 +30,7 @@
EXTRA_DIST =
# Build in these directories:
-SUBDIRS = stdair man $(HTML_DOC_DIR) extracppunit $(TEST_DIR)
+SUBDIRS = stdair man $(HTML_DOC_DIR) $(TEST_DIR)
# Configuration helpers
Modified: trunk/stdair/configure.ac
===================================================================
--- trunk/stdair/configure.ac 2010-09-03 13:15:21 UTC (rev 302)
+++ trunk/stdair/configure.ac 2010-09-03 13:53:20 UTC (rev 303)
@@ -104,14 +104,10 @@
# -----------------------------------------------------------------------------
# Support for ExtraCC (Extra-CruiseControl): http://sf.net/projects/extracc
# -----------------------------------------------------------------------------
-# Note: the ExtraCC is now imported as a Subversion external reference,
-# thus directly accessible within the extracppunit directory.
-# When that library will be widely avaible on Linux distributions,
-# the external reference can be removed and the following line uncommented.
-#AM_PATH_EXTRACC
-#AC_SUBST(EXTRACC_VERSION)
-#AC_SUBST(EXTRACC_CFLAGS)
-#AC_SUBST(EXTRACC_LIBS)
+AM_PATH_EXTRACC
+AC_SUBST(EXTRACC_VERSION)
+AC_SUBST(EXTRACC_CFLAGS)
+AC_SUBST(EXTRACC_LIBS)
# --------------------------------------------------------
# Boost (STL Extensions: http://www.boost.org)
@@ -224,7 +220,6 @@
doc/tutorial/src/Makefile
doc/local/Makefile
doc/doxygen_html.cfg
- extracppunit/Makefile
test/Makefile
test/samples/Makefile
test/inheritance/Makefile
Modified: trunk/stdair/test/stdair/Makefile.am
===================================================================
--- trunk/stdair/test/stdair/Makefile.am 2010-09-03 13:15:21 UTC (rev 302)
+++ trunk/stdair/test/stdair/Makefile.am 2010-09-03 13:53:20 UTC (rev 303)
@@ -14,10 +14,12 @@
# Test library
noinst_LTLIBRARIES = libstdairtest.la
-libstdairtest_la_SOURCES = $(stdair_test_lib_h_sources) \
+libstdairtest_la_SOURCES = \
+ $(stdair_test_lib_h_sources) \
$(stdair_test_lib_cc_sources)
libstdairtest_la_CXXFLAGS =
-libstdairtest_la_LDFLAGS = $(top_builddir)/stdair/core/libstdair.la
+libstdairtest_la_LDFLAGS = \
+ $(top_builddir)/stdair/core/libstdair.la
##
@@ -27,11 +29,11 @@
XFAIL_TESTS = #FailingTestSuite
#
-StandardAirlineITTestSuite_SOURCES = StandardAirlineITTestSuite.hpp \
- StandardAirlineITTestSuite.cpp
-StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS)
+StandardAirlineITTestSuite_SOURCES = \
+ StandardAirlineITTestSuite.hpp \
+ StandardAirlineITTestSuite.cpp
+StandardAirlineITTestSuite_CXXFLAGS= $(BOOST_CFLAGS) $(CPPUNIT_CFLAGS) $(EXTRACC_CFLAGS)
StandardAirlineITTestSuite_LDADD =
-StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) \
- $(top_builddir)/extracppunit/libextracppunit.la \
+StandardAirlineITTestSuite_LDFLAGS = $(BOOST_LIBS) $(CPPUNIT_LIBS) $(EXTRACC_LIBS)\
$(top_builddir)/test/stdair/libstdairtest.la \
$(top_builddir)/stdair/core/libstdair.la
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-09-03 13:15:28
|
Revision: 302
http://stdair.svn.sourceforge.net/stdair/?rev=302&view=rev
Author: denis_arnaud
Date: 2010-09-03 13:15:21 +0000 (Fri, 03 Sep 2010)
Log Message:
-----------
[Test] Fixed the architecture test.
Modified Paths:
--------------
trunk/stdair/test/architecture/BomRoot.cpp
trunk/stdair/test/architecture/BomRoot.hpp
trunk/stdair/test/architecture/Inventory.cpp
trunk/stdair/test/architecture/Inventory.hpp
trunk/stdair/test/architecture/architecture.cpp
trunk/stdair/test/architecture/sources.mk
Removed Paths:
-------------
trunk/stdair/test/architecture/LH.cpp
trunk/stdair/test/architecture/Structure.hpp
trunk/stdair/test/architecture/StructureTypes.hpp
Modified: trunk/stdair/test/architecture/BomRoot.cpp
===================================================================
--- trunk/stdair/test/architecture/BomRoot.cpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/BomRoot.cpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -3,13 +3,17 @@
// //////////////////////////////////////////////////////////////////////
// STL
#include <cassert>
-#include "BomRoot.hpp"
+// Local
+#include <test/architecture/BomRoot.hpp>
-// ////////////////////////////////////////////////////////////////////
-BomRoot::BomRoot (const Key_T& iKey, Structure_T& ioBomRootStructure)
- : BomRootContent (iKey), _structure (ioBomRootStructure) {
-}
+namespace myairline {
+
+ // ////////////////////////////////////////////////////////////////////
+ BomRoot::BomRoot (const Key_T& iKey) : stdair::BomRoot (iKey) {
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ BomRoot::~BomRoot () {
+ }
-// ////////////////////////////////////////////////////////////////////
-BomRoot::~BomRoot () {
}
Modified: trunk/stdair/test/architecture/BomRoot.hpp
===================================================================
--- trunk/stdair/test/architecture/BomRoot.hpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/BomRoot.hpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -1,54 +1,39 @@
-#ifndef __BOMROOT_HPP
-#define __BOMROOT_HPP
+#ifndef __MYAIRLINE_BOMROOT_HPP
+#define __MYAIRLINE_BOMROOT_HPP
// //////////////////////////////////////////////////////////////////////
// Import section
// //////////////////////////////////////////////////////////////////////
+// STL
#include <string>
-#include "StructureTypes.hpp"
// StdAir
-#include <stdair/bom/BomRootContent.hpp>
+#include <stdair/bom/BomRoot.hpp>
-/** Class representing the actual functional/business content
- for the Bom root. */
-class BomRoot : public stdair::BomRootContent {
-public:
- /** Definition allowing to retrieve the associated BOM structure type. */
- typedef BomRootStructure_T Structure_T;
- /** Definition allowing to retrieve the map/multimap type using by
- BomChildrenHolder. */
- typedef std::map<const std::string, const Structure_T*> Map_T;
-
-public:
-// /////////// Display support methods /////////
-/** Dump a Business Object into an output stream.
- @param ostream& the output stream. */
-void toStream (std::ostream& ioOut) const { ioOut << toString(); }
-
-/** Read a Business Object from an input stream.
- @param istream& the input stream. */
-void fromStream (std::istream& ioIn) { }
-
-/** Get the serialised version of the Business Object. */
-std::string toString() const { return describeKey(); }
+namespace myairline {
+
+ /** Class representing the actual functional/business content
+ for the Bom root. */
+ class BomRoot : public stdair::BomRoot {
+ public:
+ // /////////// Display support methods /////////
+ /** Get the serialised version of the Business Object. */
+ std::string toString() const { return describeKey(); }
-/** Get a string describing the whole key (differentiating two objects
- at any level). */
-const std::string describeKey() const { return std::string (""); }
-
-public:
-/** Constructors are private so as to force the usage of the Factory
- layer. */
-/** Constructors. */
-BomRoot (const Key_T&, Structure_T&);
-/** Destructor. */
-~BomRoot();
-/** Default constructors. */
-BomRoot ();
-BomRoot (const BomRoot&);
-
-// Attributes
-/** Reference structure. */
-Structure_T& _structure;
-};
-#endif // __BOMROOT_HPP
+ /** Get a string describing the whole key (differentiating two objects
+ at any level). */
+ const std::string describeKey() const { return std::string (""); }
+
+ public:
+ /** Constructors are private so as to force the usage of the Factory
+ layer. */
+ /** Constructors. */
+ BomRoot (const Key_T&);
+ /** Destructor. */
+ ~BomRoot();
+ /** Default constructors. */
+ BomRoot ();
+ BomRoot (const BomRoot&);
+ };
+
+}
+#endif // __MYAIRLINE_BOMROOT_HPP
Modified: trunk/stdair/test/architecture/Inventory.cpp
===================================================================
--- trunk/stdair/test/architecture/Inventory.cpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/Inventory.cpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -3,34 +3,29 @@
// //////////////////////////////////////////////////////////////////////
// STL
#include <cassert>
-#include "Inventory.hpp"
+// Local
+#include <test/architecture/Inventory.hpp>
-// ////////////////////////////////////////////////////////////////////
-Inventory::Inventory (const Key_T& iKey,
- Structure_T& ioInventoryStructure)
- : InventoryContent (iKey), _structure (ioInventoryStructure) {
-}
+namespace myairline {
+
+ // ////////////////////////////////////////////////////////////////////
+ Inventory::Inventory (const Key_T& iKey) : stdair::Inventory (iKey) {
+ }
-// ////////////////////////////////////////////////////////////////////
-Inventory::~Inventory () {
-}
-// ////////////////////////////////////////////////////////////////////
-void Inventory::toStream (std::ostream& ioOut) const {
- ioOut << toString() << std::endl;
-}
+ // ////////////////////////////////////////////////////////////////////
+ Inventory::~Inventory () {
+ }
-// ////////////////////////////////////////////////////////////////////
-void Inventory::fromStream (std::istream& ioIn) {
+ // ////////////////////////////////////////////////////////////////////
+ std::string Inventory::toString() const {
+ std::ostringstream oStr;
+ oStr << _key.toString();
+ return oStr.str();
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ const std::string Inventory::describeKey() const {
+ return _key.toString();
+ }
+
}
-
-// ////////////////////////////////////////////////////////////////////
-std::string Inventory::toString() const {
- std::ostringstream oStr;
- oStr << _key.toString();
- return oStr.str();
-}
-
-// ////////////////////////////////////////////////////////////////////
-const std::string Inventory::describeKey() const {
- return _key.toString();
-}
Modified: trunk/stdair/test/architecture/Inventory.hpp
===================================================================
--- trunk/stdair/test/architecture/Inventory.hpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/Inventory.hpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -1,55 +1,41 @@
-#ifndef __INVENTORY_HPP
-#define __INVENTORY_HPP
+#ifndef __MYAIRLINE_INVENTORY_HPP
+#define __MYAIRLINE_INVENTORY_HPP
// //////////////////////////////////////////////////////////////////////
// Import section
// //////////////////////////////////////////////////////////////////////
-#include <string>
-#include "StructureTypes.hpp"
-#include <stdair/bom/InventoryContent.hpp>
+// STL
+#include <list>
+// StdAir
+#include <stdair/bom/Inventory.hpp>
-class Inventory : public stdair::InventoryContent {
- friend class FacBomContent;
-public:
- /** Definition allowing to retrieve the associated BOM structure type. */
- typedef InventoryStructure_T Structure_T;
- /** Definition allowing to retrieve the map/multimap type using by
- BomChildrenHolder. */
- typedef std::map<const std::string, const Structure_T*> Map_T;
-
-public:
-// /////////// Display support methods /////////
-/** Dump a Business Object into an output stream.
- @param ostream& the output stream. */
-void toStream (std::ostream& ioOut) const;
-
-/** Read a Business Object from an input stream.
- @param istream& the input stream. */
-void fromStream (std::istream& ioIn);
-
-/** Get the serialised version of the Business Object. */
-std::string toString() const;
+namespace myairline {
+
+ class Inventory : public stdair::Inventory {
+ public:
+ // /////////// Display support methods /////////
+ /** Get the serialised version of the Business Object. */
+ std::string toString() const;
-/** Get a string describing the whole key (differentiating two objects
- at any level). */
-const std::string describeKey() const;
-
-
-public:
-/** Constructors are private so as to force the usage of the Factory
- layer. */
-/** Constructors. */
-Inventory (const Key_T&, Structure_T&);
-/** Destructor. */
-~Inventory();
-/** Default constructors. */
-Inventory ();
-Inventory (const Inventory&);
-
-// Attributes
-/** Reference structure. */
-Structure_T& _structure;
-};
-
-#endif // __INVENTORY_HPP
-
+ /** Get a string describing the whole key (differentiating two objects
+ at any level). */
+ const std::string describeKey() const;
+
+ public:
+ /** Constructors are private so as to force the usage of the Factory
+ layer. */
+ /** Constructors. */
+ Inventory (const Key_T&);
+ /** Destructor. */
+ ~Inventory();
+ /** Default constructors. */
+ Inventory ();
+ Inventory (const Inventory&);
+ };
+
+ // ////////// Type definitions /////////
+ /** Type for the list of inventories. */
+ typedef std::list<Inventory*> InventoryList_T;
+
+}
+#endif // __MYAIRLINE_INVENTORY_HPP
Deleted: trunk/stdair/test/architecture/LH.cpp
===================================================================
--- trunk/stdair/test/architecture/LH.cpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/LH.cpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -1,33 +0,0 @@
-
-// StdAir
-#include <stdair/bom/BomRoot.hpp>
-#include <stdair/bom/Inventory.hpp>
-#include <stdair/bom/FlightDate.hpp>
-
-namespace LH {
-
- /**
- * \brief LH own implementation of the BomRoot class
- */
- class BomRootImpl : public stdair::BomRootContent {
- };
-
- /**
- * \brief LH own implementation of the FlightDate class
- */
- class FlightDateImpl : public stdair::FlightDateContent {
- };
-
- /**
- * \brief Initialisation of objects
- */
- void init() {
- stdair::BomRoot<BomRootImpl> lhBomRoot;
- stdair::Inventory<stdair::InventoryImpl> lhInventory;
- stdair::link(lhBomRoot, lhInventory);
-
- stdair::FlightDate<lh::FlightDateImpl> lhFlightDate;
- stdair::link (lhInventory, lhFlightDate);
- }
-
-}
Deleted: trunk/stdair/test/architecture/Structure.hpp
===================================================================
--- trunk/stdair/test/architecture/Structure.hpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/Structure.hpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -1,171 +0,0 @@
-#ifndef __STRUCTURE_HPP
-#define __STRUCTURE_HPP
-
-// //////////////////////////////////////////////////////////////////////
-// Import section
-// //////////////////////////////////////////////////////////////////////
-#include "StructureTypes.hpp"
-#include <stdair/bom/BomStructure.hpp>
-// STL
-#include <cassert>
-
-namespace stdair {
- // Forward declarations.
- template <typename CONTENT> class BomChildrenHolderImp;
- template <typename CONTENT> class BomMap_T;
- template <typename CONTENT> class BomMultimap_T;
- template <typename CONTENT> class BomList_T;
-}
-
-/** Wrapper class aimed at holding the actual content, modeled
- by a specific BomContentRoot class. */
-template <typename CONTENT>
-class Structure : public stdair::BomStructure {
-
-public:
- // Type definitions
- /** Definition allowing to retrieve the associated content. */
- typedef CONTENT Content_T;
-
- /** Definition allowing to retrieve the associated key type. */
- typedef typename Content_T::Key_T Key_T;
-
- /** Definition allowing to retrieve the map of children holder type. */
- typedef typename boost::mpl::at<
- ChildrenHolderMapMap_T, Content_T>::type ChildrenHolderMap_T;
-
- /** Definition allowing to retrieve the parent structure type. */
- typedef typename boost::mpl::at<
- ParentMap_T, Content_T>::type::Structure_T Parent_T;
-
-public:
- // ////////// Getters ////////////
- /** Get the content object. */
- const Content_T& getContent () const {
- assert (_content != NULL);
- return *_content;
- }
-
- /** Get the key of the content object. */
- const Key_T& getKey () const {
- assert (_content != NULL);
- return _content->getKey();
- }
-
- /** Get the parent structure. */
- const Parent_T& getParent () const {
- assert (_parent != NULL);
- return *_parent;
- }
-
- /** The the holder which corresponds to the CHILD type. */
- template <typename CHILD>
- stdair::BomChildrenHolderImp<CHILD>& getChildrenHolder () const {
-
- stdair::BomChildrenHolderImp<CHILD>* lHolder_ptr =
- boost::fusion::at_key<CHILD> (_holderMap);
-
- assert (lHolder_ptr != NULL);
- return *lHolder_ptr;
- }
-
- /** Retrieve, if existing, the pointer of CHILD type corresponding to the
- given key.
- <br>If not exissting, return the NULL pointer. */
- template <typename CHILD>
- CHILD* getChildPtr (const std::string& iKey) const {
- CHILD* oContentChild_ptr = NULL;
-
- stdair::BomChildrenHolderImp<CHILD>* lHolder_ptr =
- boost::fusion::at_key<CHILD> (_holderMap);
-
- if (lHolder_ptr != NULL) {
- // Look for the child in the map, then in the multimap
- stdair::BomMap_T<CHILD> lChildrenMap (*lHolder_ptr);
- typename stdair::BomMap_T<CHILD>::iterator itContentChild =
- lChildrenMap.find (iKey);
- if (itContentChild != lChildrenMap.end()) {
- oContentChild_ptr = itContentChild->second;
- }
- }
-
- return oContentChild_ptr;
- }
-
- /** Retrieve, child of CHILD type corresponding to the given key. */
- template <typename CHILD>
- CHILD& getChild (const std::string& iKey) const {
- CHILD* lChild_ptr = NULL;
-
- const stdair::BomChildrenHolderImp<CHILD>& lHolder = getChildrenHolder<CHILD>();
- stdair::BomMap_T<CHILD> lChildrenMap (lHolder);
-
- typename stdair::BomMap_T<CHILD>::iterator itContentChild =
- lChildrenMap.find (iKey);
-
- if (itContentChild != lChildrenMap.end()) {
- lChild_ptr = itContentChild->second;
- }
-
- assert (lChild_ptr != NULL);
- return *lChild_ptr;
- }
-
- // /////////// Business method ////////////
- /** Initialise the pointer of children holder to NULL. */
- template <typename CHILD>
- void initChildrenHolder() {
-
- stdair::BomChildrenHolderImp<CHILD>*& lHolder_ptr =
- boost::fusion::at_key<CHILD> (_holderMap);
- lHolder_ptr = NULL;
- }
-
-public:
- // /////////// Display support methods /////////
- /** Dump a Business Object into an output stream.
- @param ostream& the output stream. */
- void toStream (std::ostream& ioOut) const {
- ioOut << toString() << std::endl;
- }
-
- /** Read a Business Object from an input stream.
- @param istream& the input stream. */
- void fromStream (std::istream& ioIn) { }
-
- /** Get the serialised version of the Business Object. */
- std::string toString() const { return describeShortKey(); }
-
- /** Get a string describing the short key (differentiating two objects
- at the same level). */
- const std::string describeShortKey() const { return getKey().toString(); }
-
- /** Get a string describing the parent's whole key
- (differentiating two objects at any level). */
- const std::string describeParentKey() const {
- assert (_parent != NULL);
- return _parent->getContent().describeKey();
- }
-
-public:
- /** Constructors are private so as to force the usage of the Factory
- layer. */
- /** Default constructors. */
- Structure () : _parent (NULL), _content (NULL) { }
- Structure (const Structure&) { assert (false); };
- /** Destructor. */
- ~Structure () { }
-
-public:
- // Attributes
- /** The parent structure. */
- Parent_T* _parent;
-
- /** The actual functional (Business Object) content. */
- Content_T* _content;
-
- /** The map of children holders. */
- ChildrenHolderMap_T _holderMap;
-};
-
-#endif // __STRUCTURE_HPP
Deleted: trunk/stdair/test/architecture/StructureTypes.hpp
===================================================================
--- trunk/stdair/test/architecture/StructureTypes.hpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/StructureTypes.hpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -1,46 +0,0 @@
-// //////////////////////////////////////////////////////////////////////
-#ifndef __STRUCTURETYPES_HPP
-#define __STRUCTURETYPES_HPP
-
-// //////////////////////////////////////////////////////////////////////
-// Import section
-// /////////////////////////////////////////////
-// BOOST
-#include <boost/fusion/include/map.hpp>
-#include <boost/mpl/map.hpp>
-
-// Forward declarations.
-namespace stdair {
- template <typename CONTENT> class BomChildrenHolderImp;
- template <typename BOM> struct BomList_T;
- template <typename BOM> struct BomMap_T;
-}
-template <typename CONTENT> class Structure;
-class BomRoot;
-class Inventory;
-
-// /////////////////////////////////////////////////
-typedef Structure<BomRoot> BomRootStructure_T;
-typedef Structure<Inventory> InventoryStructure_T;
-typedef stdair::BomChildrenHolderImp<Inventory> InventoryHolder_T;
-typedef stdair::BomList_T<Inventory> InventoryList_T;
-typedef stdair::BomMap_T<Inventory> InventoryMap_T;
-
-// /////////////////////////////////////////////////
-typedef boost::mpl::map <
- boost::mpl::pair<Inventory, BomRoot>,
- boost::mpl::pair<BomRoot, BomRoot> > ParentMap_T;
-
-typedef boost::fusion::map<
- boost::fusion::pair<Inventory, InventoryHolder_T*>
- >BomRootChildrenHolderMap_T;
-typedef boost::fusion::map< > InventoryChildrenHolderMap_T;
-
-typedef boost::mpl::map <
- boost::mpl::pair<BomRoot, BomRootChildrenHolderMap_T>,
- boost::mpl::pair<Inventory, InventoryChildrenHolderMap_T>
- > ChildrenHolderMapMap_T;
-
-
-#endif // __STRUCTURETYPES_HPP
-
Modified: trunk/stdair/test/architecture/architecture.cpp
===================================================================
--- trunk/stdair/test/architecture/architecture.cpp 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/architecture.cpp 2010-09-03 13:15:21 UTC (rev 302)
@@ -2,35 +2,46 @@
#include <cassert>
#include <iostream>
#include <string>
-#include <stdair/factory/FacBomContent.hpp>
-#include <stdair/bom/BomSource.hpp>
-#include "BomRoot.hpp"
-#include "Inventory.hpp"
-#include "Structure.hpp"
-#include "StructureTypes.hpp"
+// StdAir
+#include <stdair/bom/BomRoot.hpp>
+#include <stdair/bom/BomManager.hpp>
+#include <stdair/factory/FacBom.hpp>
+#include <stdair/factory/FacBomManager.hpp>
+// Local
+//#include <test/architecture/BomRoot.hpp>
+#include <test/architecture/Inventory.hpp>
// ////////// M A I N //////////////
int main (int argc, char* argv[]) {
+
// Step 0.0: initialisation
// Create the root of the Bom tree (i.e., a BomRoot object)
- BomRoot& lBomRoot =
- stdair::FacBomContent::instance().create<BomRoot>();
+ stdair::BomRoot& lBomRoot =
+ stdair::FacBom<stdair::BomRoot>::instance().create();
// Step 0.1: Inventory level
// Create an Inventory (BA)
const stdair::AirlineCode_T lAirlineCode ("BA");
- stdair::InventoryKey_T lInventoryKey (lAirlineCode);
-
- Inventory& lInventory =
- stdair::FacBomContent::instance().create<Inventory>(lInventoryKey);
- stdair::FacBomContent::linkWithParent (lInventory, lBomRoot);
+ const stdair::InventoryKey lBAKey (lAirlineCode);
+ myairline::Inventory& lBAInv =
+ stdair::FacBom<myairline::Inventory>::instance().create (lBAKey);
+ stdair::FacBomManager::addToList (lBomRoot, lBAInv);
- const InventoryList_T& lInventoryList =
- lBomRoot._structure.getChildrenHolder<Inventory>();
- for (InventoryList_T::iterator itInv = lInventoryList.begin();
- itInv != lInventoryList.end(); ++itInv) {
- const Inventory& lCurrentInventory = *itInv;
- std::cout << "Inventory: " << lCurrentInventory.toString() << std::endl;
+ // Create an Inventory for AF
+ const stdair::InventoryKey lAFKey ("AF");
+ myairline::Inventory& lAFInv =
+ stdair::FacBom<myairline::Inventory>::instance().create (lAFKey);
+ stdair::FacBomManager::addToList (lBomRoot, lAFInv);
+
+ // Browse the inventories
+ const myairline::InventoryList_T& lInventoryList =
+ stdair::BomManager::getList<myairline::Inventory> (lBomRoot);
+ for (myairline::InventoryList_T::const_iterator itInv =
+ lInventoryList.begin(); itInv != lInventoryList.end(); ++itInv) {
+ const myairline::Inventory* lInv_ptr = *itInv;
+ assert (lInv_ptr != NULL);
+
+ std::cout << "Inventory: " << lInv_ptr->toString() << std::endl;
}
return 0;
Modified: trunk/stdair/test/architecture/sources.mk
===================================================================
--- trunk/stdair/test/architecture/sources.mk 2010-09-03 09:49:28 UTC (rev 301)
+++ trunk/stdair/test/architecture/sources.mk 2010-09-03 13:15:21 UTC (rev 302)
@@ -1,7 +1,7 @@
-architecture_h_sources = $(srcdir)/StructureTypes.hpp \
- $(srcdir)/Structure.hpp \
- $(srcdir)/BomRoot.hpp \
- $(srcdir)/Inventory.hpp
-architecture_cc_sources = $(srcdir)/architecture.cpp \
- $(srcdir)/BomRoot.cpp \
- $(srcdir)/Inventory.cpp
+architecture_h_sources = \
+ $(srcdir)/Inventory.hpp
+# $(srcdir)/BomRoot.hpp
+architecture_cc_sources = \
+ $(srcdir)/Inventory.cpp \
+ $(srcdir)/architecture.cpp
+# $(srcdir)/BomRoot.cpp
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cla...@us...> - 2010-09-03 09:49:34
|
Revision: 301
http://stdair.svn.sourceforge.net/stdair/?rev=301&view=rev
Author: clacombe
Date: 2010-09-03 09:49:28 +0000 (Fri, 03 Sep 2010)
Log Message:
-----------
[Branch 0.4.0] Prepared the branch 0.4.0 to be copied from head of the trunk.
Added Paths:
-----------
branches/stdair/0.4.0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <qua...@us...> - 2010-09-03 08:17:05
|
Revision: 300
http://stdair.svn.sourceforge.net/stdair/?rev=300&view=rev
Author: quannaus
Date: 2010-09-03 08:16:59 +0000 (Fri, 03 Sep 2010)
Log Message:
-----------
[dev] some changes for the improvement of airsched.
Modified Paths:
--------------
trunk/stdair/stdair/bom/BomManager.hpp
trunk/stdair/stdair/bom/RelationShip.hpp
Modified: trunk/stdair/stdair/bom/BomManager.hpp
===================================================================
--- trunk/stdair/stdair/bom/BomManager.hpp 2010-08-29 20:54:34 UTC (rev 299)
+++ trunk/stdair/stdair/bom/BomManager.hpp 2010-09-03 08:16:59 UTC (rev 300)
@@ -22,6 +22,14 @@
template <typename CHILD, typename PARENT>
static std::map<const MapKey_T, CHILD*>& getMap (const PARENT&);
+ /** Get the map of parent and children holder. */
+ template <typename PARENT, typename CHILD>
+ static const std::map<const PARENT*,
+ std::list<CHILD*> >& getParentChildrenList();
+ template <typename PARENT, typename CHILD>
+ static const std::map<const PARENT*,
+ std::map<const MapKey_T, CHILD*> >& getParentChildrenMap();
+
/** Check if the list/map of children has been initialised. */
template <typename CHILD, typename PARENT>
static bool hasList (const PARENT&);
@@ -38,10 +46,16 @@
If such a CHILD does not exist, return NULL. */
template <typename CHILD, typename PARENT>
static CHILD* getChildPtr (const PARENT&, const MapKey_T&);
+ template <typename BOM>
+ static BOM* const getObjectPtr (const std::map<const MapKey_T, BOM*>&,
+ const MapKey_T&);
/** Return the CHILD corresponding the the given string key. */
template <typename CHILD, typename PARENT>
static CHILD& getChild (const PARENT&, const MapKey_T&);
+ template <typename BOM>
+ static BOM& getObject (const std::map<const MapKey_T, BOM*>&,
+ const MapKey_T&);
};
// ////////////////////////////////////////////////////////////////////
@@ -65,6 +79,20 @@
}
// ////////////////////////////////////////////////////////////////////
+ template <typename PARENT, typename CHILD>
+ const std::map<const PARENT*, std::list<CHILD*> >& BomManager::
+ getParentChildrenList() {
+ return RelationShip<PARENT, CHILD>::instance().getParentChildrenList();
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ template <typename PARENT, typename CHILD>
+ const std::map<const PARENT*, std::map<const MapKey_T, CHILD*> >& BomManager::
+ getParentChildrenMap() {
+ return RelationShip<PARENT, CHILD>::instance().getParentChildrenMap();
+ }
+
+ // ////////////////////////////////////////////////////////////////////
template <typename CHILD, typename PARENT>
bool BomManager::hasList (const PARENT& iParent) {
return RelationShip<PARENT, CHILD>::instance().hasChildrenList (iParent);
@@ -100,6 +128,30 @@
CHILD& BomManager::getChild (const PARENT& iParent, const MapKey_T& iKey) {
return RelationShip<PARENT, CHILD>::instance().getChild (iParent, iKey);
}
+
+ // ////////////////////////////////////////////////////////////////////
+ template <typename BOM>
+ BOM* const BomManager::getObjectPtr (const std::map<const MapKey_T,BOM*>& iMap,
+ const MapKey_T& iKey) {
+ typename std::map<const MapKey_T, BOM*>::const_iterator it = iMap.find (iKey);
+ if (it == iMap.end()) {
+ return NULL;
+ }
+ BOM* const oBom_ptr = it->second;
+ assert (oBom_ptr != NULL);
+ return oBom_ptr;
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ template <typename BOM>
+ BOM& BomManager::getObject (const std::map<const MapKey_T, BOM*>& iMap,
+ const MapKey_T& iKey) {
+ typename std::map<const MapKey_T, BOM*>::const_iterator it = iMap.find (iKey);
+ assert (it != iMap.end());
+ BOM* const oBom_ptr = it->second;
+ assert (oBom_ptr != NULL);
+ return *oBom_ptr;
+ }
}
#endif // __STDAIR_BOM_BOMMANAGER_HPP
Modified: trunk/stdair/stdair/bom/RelationShip.hpp
===================================================================
--- trunk/stdair/stdair/bom/RelationShip.hpp 2010-08-29 20:54:34 UTC (rev 299)
+++ trunk/stdair/stdair/bom/RelationShip.hpp 2010-09-03 08:16:59 UTC (rev 300)
@@ -49,6 +49,10 @@
ChildrenDetailedList_T& getChildrenDetailedList (const PARENT&);
ChildrenMap_T& getChildrenMap (const PARENT&);
+ /** Getter of the attribute holders. */
+ const ParentChildrentList_T& getParentChildrenList ();
+ const ParentChildrentMap_T& getParentChildrenMap ();
+
/** Getter of the PARENT given the CHILD. */
PARENT& getParent (const CHILD&);
@@ -157,6 +161,20 @@
}
// ////////////////////////////////////////////////////////////////////
+ template <typename PARENT, typename CHILD>
+ const typename RelationShip<PARENT, CHILD>::ParentChildrentList_T&
+ RelationShip<PARENT, CHILD>::getParentChildrenList () {
+ return instance()._parentChildrenList;
+ }
+
+ // ////////////////////////////////////////////////////////////////////
+ template <typename PARENT, typename CHILD>
+ const typename RelationShip<PARENT, CHILD>::ParentChildrentMap_T&
+ RelationShip<PARENT, CHILD>::getParentChildrenMap () {
+ return instance()._parentChildrenMap;
+ }
+
+ // ////////////////////////////////////////////////////////////////////
template <typename PARENT, typename CHILD> bool RelationShip<PARENT, CHILD>::
hasChildrenList (const PARENT& iParent) {
ParentChildrentList_T& lParentChildrenList = instance()._parentChildrenList;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-08-29 20:54:40
|
Revision: 299
http://stdair.svn.sourceforge.net/stdair/?rev=299&view=rev
Author: denis_arnaud
Date: 2010-08-29 20:54:34 +0000 (Sun, 29 Aug 2010)
Log Message:
-----------
[Packaging] Took into account the feedback from the package review (https://bugzilla.redhat.com/show_bug.cgi?id=614036).
Modified Paths:
--------------
trunk/stdair/stdair.spec
Modified: trunk/stdair/stdair.spec
===================================================================
--- trunk/stdair/stdair.spec 2010-08-29 20:54:05 UTC (rev 298)
+++ trunk/stdair/stdair.spec 2010-08-29 20:54:34 UTC (rev 299)
@@ -102,9 +102,11 @@
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}
+# When the extracc package will be approved, the following line has to be removed
%{_includedir}/extracppunit
%{_bindir}/%{name}-config
%{_libdir}/lib%{name}.so
+# When the extracc package will be approved, the following line has to be removed
%{_libdir}/libextracppunit.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-08-29 20:54:12
|
Revision: 298
http://stdair.svn.sourceforge.net/stdair/?rev=298&view=rev
Author: denis_arnaud
Date: 2010-08-29 20:54:05 +0000 (Sun, 29 Aug 2010)
Log Message:
-----------
[Branch 0.3.0] Took into account the feedback from the package review (https://bugzilla.redhat.com/show_bug.cgi?id=614036).
Modified Paths:
--------------
branches/stdair/0.3.0/main/stdair.spec
Modified: branches/stdair/0.3.0/main/stdair.spec
===================================================================
--- branches/stdair/0.3.0/main/stdair.spec 2010-08-29 20:24:27 UTC (rev 297)
+++ branches/stdair/0.3.0/main/stdair.spec 2010-08-29 20:54:05 UTC (rev 298)
@@ -102,9 +102,11 @@
%files devel
%defattr(-,root,root,-)
%{_includedir}/%{name}
+# When the extracc package will be approved, the following line has to be removed
%{_includedir}/extracppunit
%{_bindir}/%{name}-config
%{_libdir}/lib%{name}.so
+# When the extracc package will be approved, the following line has to be removed
%{_libdir}/libextracppunit.so
%{_libdir}/pkgconfig/%{name}.pc
%{_datadir}/aclocal/%{name}.m4
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-08-29 20:24:35
|
Revision: 297
http://stdair.svn.sourceforge.net/stdair/?rev=297&view=rev
Author: denis_arnaud
Date: 2010-08-29 20:24:27 +0000 (Sun, 29 Aug 2010)
Log Message:
-----------
[Branch 0.3.0] Took into account the feedback from the package review (https://bugzilla.redhat.com/show_bug.cgi?id=614036).
Modified Paths:
--------------
branches/stdair/0.3.0/main/stdair.spec
Modified: branches/stdair/0.3.0/main/stdair.spec
===================================================================
--- branches/stdair/0.3.0/main/stdair.spec 2010-08-29 20:05:18 UTC (rev 296)
+++ branches/stdair/0.3.0/main/stdair.spec 2010-08-29 20:24:27 UTC (rev 297)
@@ -3,7 +3,7 @@
#
Name: stdair
Version: 0.3.0
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: C++ Standard Airline IT Object Library
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <den...@us...> - 2010-08-29 20:05:24
|
Revision: 296
http://stdair.svn.sourceforge.net/stdair/?rev=296&view=rev
Author: denis_arnaud
Date: 2010-08-29 20:05:18 +0000 (Sun, 29 Aug 2010)
Log Message:
-----------
[Packaging] Took into account the feedback from the package review (https://bugzilla.redhat.com/show_bug.cgi?id=614036).
Modified Paths:
--------------
trunk/stdair/stdair.spec
Modified: trunk/stdair/stdair.spec
===================================================================
--- trunk/stdair/stdair.spec 2010-08-29 20:04:40 UTC (rev 295)
+++ trunk/stdair/stdair.spec 2010-08-29 20:05:18 UTC (rev 296)
@@ -15,6 +15,9 @@
BuildRequires: boost-devel
BuildRequires: soci-mysql-devel
+# When the extracc package will be approved, uncomment the following line
+# (see https://bugzilla.redhat.com/show_bug.cgi?id=616881 for more details)
+#BuildRequires: extracc-devel
BuildRequires: cppunit-devel
@@ -41,11 +44,8 @@
%package doc
Summary: HTML documentation for the %{name} library
Group: Documentation
-%if 0%{?fedora}
-BuildArch: noarch
-BuildRequires: texlive-latex
-%endif
-%{?el5:BuildRequires: tetex-latex}
+%{?fedora:BuildArch: noarch}
+BuildRequires: tex(latex)
BuildRequires: doxygen, ghostscript
%description doc
@@ -55,8 +55,10 @@
%prep
%setup -q
+# The INSTALL package is not relevant for RPM package users
+# (e.g., see https://bugzilla.redhat.com/show_bug.cgi?id=489233#c4)
+rm -f INSTALL
# Fix some permissions and formats
-rm -f INSTALL
chmod -x AUTHORS ChangeLog COPYING NEWS README
find . -type f -name '*.[hc]pp' -exec chmod 644 {} \;
@@ -69,15 +71,21 @@
# On Fedora, the BuildRoot is automatically cleaned. Which is not the case for
# RedHat. See: https://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag
%{?rhel:rm -rf $RPM_BUILD_ROOT}
+
make install DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p"
-# remove unpackaged files from the buildroot
+
+# Remove unpackaged files from the buildroot
rm -f $RPM_BUILD_ROOT%{_libdir}/lib%{name}.la
+# When the extracc package will be approved, the following line has to be removed
rm -f $RPM_BUILD_ROOT%{_libdir}/libextracppunit.la
+
mkdir -p %{mydocs}
mv $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/html %{mydocs}
+%if 0%{?rhel}
%clean
rm -rf $RPM_BUILD_ROOT
+%endif
%post -p /sbin/ldconfig
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|