SUMO - Simulation of Urban MObility
|
Base class for loading routes from XML-files. More...
#include <ROTypedXMLRoutesLoader.h>
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occured. | |
void | endDocument () |
Called when the document has ended. | |
bool | ended () const |
Returns the information whether no routes are available from this loader anymore. | |
void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
The inherited method called when a tag is being closed. | |
const std::string & | getFileName () const |
returns the current file name | |
SUMOTime | getLastReadTimeStep () const |
Returns the time the current (last read) route starts at. | |
virtual bool | readRoutesAtLeastUntil (SUMOTime time) |
Adds routes from the file until the given time is reached. | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. | |
ROTypedXMLRoutesLoader (RONet &net, SUMOTime begin, SUMOTime end, const std::string &file="") | |
Constructor. | |
void | setFileName (const std::string &name) |
Sets the current file name. | |
void | startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attrs) |
The inherited method called when a new tag opens. | |
virtual | ~ROTypedXMLRoutesLoader () |
Destructor. | |
SAX ErrorHandler callbacks | |
void | warning (const SAXParseException &exception) |
Handler for XML-warnings. | |
void | error (const SAXParseException &exception) |
Handler for XML-errors. | |
void | fatalError (const SAXParseException &exception) |
Handler for XML-errors. | |
Protected Member Functions | |
std::string | buildErrorMessage (const SAXParseException &exception) |
Builds an error message. | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. | |
virtual void | myEndElement (int element) |
Callback method for a closing tag to implement by derived classes. | |
virtual void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Callback method for an opening tag to implement by derived classes. | |
Protected Attributes | |
SUMOTime | myBegin |
The time for which the first route shall be loaded. | |
SUMOTime | myCurrentDepart |
The currently read vehicle's depart. | |
SUMOTime | myEnd |
The time for which the first route shall be loaded. | |
bool | myEnded |
Information whether the whole file has been parsed. | |
RONet & | myNet |
The network to add routes to. | |
bool | myNextRouteRead |
The information whether the next route was read. | |
SAX2XMLReader * | myParser |
The parser used. | |
XMLPScanToken | myToken |
Information about the current position within the file. | |
Private Member Functions | |
ROTypedXMLRoutesLoader & | operator= (const ROTypedXMLRoutesLoader &src) |
Invalidated assignment operator. | |
ROTypedXMLRoutesLoader (const ROTypedXMLRoutesLoader &src) | |
Invalidated copy constructor. |
Base class for loading routes from XML-files.
Base class for loaders which load route definitions which use XML-derived formats. Some methods as the initialisation and the file processing, together with the need for a parser are common to all such loaders.
Definition at line 60 of file ROTypedXMLRoutesLoader.h.
ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader | ( | RONet & | net, |
SUMOTime | begin, | ||
SUMOTime | end, | ||
const std::string & | file = "" |
||
) |
Constructor.
[in] | vb | The vehicle builder to use |
[in] | net | The network to add vehicles to |
[in] | begin | The time step import shall start at |
[in] | end | The time step import shall stop at |
[in] | file | Name of the used input file |
ProcessError | If an error occured during initialisation of parsing the xml-file |
Definition at line 50 of file ROTypedXMLRoutesLoader.cpp.
References GenericSAXHandler::getFileName(), XMLSubSys::getSAXReader(), myParser, and myToken.
ROTypedXMLRoutesLoader::~ROTypedXMLRoutesLoader | ( | ) | [virtual] |
ROTypedXMLRoutesLoader::ROTypedXMLRoutesLoader | ( | const ROTypedXMLRoutesLoader & | src | ) | [private] |
Invalidated copy constructor.
std::string GenericSAXHandler::buildErrorMessage | ( | const SAXParseException & | exception | ) | [protected, inherited] |
Builds an error message.
The error message includes the file name and the line/column information as supported by the given SAXParseException
[in] | exception | The name of the currently processed file |
Definition at line 193 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
void GenericSAXHandler::characters | ( | const XMLCh *const | chars, |
const XERCES3_SIZE_t | length | ||
) | [inherited] |
The inherited method called when characters occured.
The retrieved characters are converted into a string and appended into a private buffer. They are reported as soon as the element ends.
recheck/describe what happens with characters when a new element is opened
describe characters processing in the class' head
Definition at line 176 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myCharactersVector.
void ROTypedXMLRoutesLoader::endDocument | ( | ) |
Called when the document has ended.
Definition at line 83 of file ROTypedXMLRoutesLoader.cpp.
References myEnded.
bool ROTypedXMLRoutesLoader::ended | ( | ) | const [inline] |
Returns the information whether no routes are available from this loader anymore.
Definition at line 102 of file ROTypedXMLRoutesLoader.h.
References myEnded.
Referenced by readRoutesAtLeastUntil().
void GenericSAXHandler::endElement | ( | const XMLCh *const | uri, |
const XMLCh *const | localname, | ||
const XMLCh *const | qname | ||
) | [inherited] |
The inherited method called when a tag is being closed.
This method calls the user-implemented methods myCharacters with the previously collected and converted characters.
Then, myEndElement is called, supplying it the qname converted to its enum- and string-representations.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 126 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, and SUMO_TAG_NOTHING.
void GenericSAXHandler::error | ( | const SAXParseException & | exception | ) | [inherited] |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occured exception to process |
ProcessError | On any call |
Definition at line 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by NLHandler::getLanesFromIndices().
void GenericSAXHandler::fatalError | ( | const SAXParseException & | exception | ) | [inherited] |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occured exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
const std::string & GenericSAXHandler::getFileName | ( | ) | const [inherited] |
returns the current file name
Definition at line 86 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), MSRouteLoader::init(), PCNetProjectionLoader::loadIfSet(), NILoader::loadXMLType(), MSTriggeredXMLReader::myInit(), GUISettingsHandler::myStartElement(), RODFDetectorHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), ROTypedXMLRoutesLoader(), XMLSubSys::runParser(), and GenericSAXHandler::startElement().
SUMOTime ROTypedXMLRoutesLoader::getLastReadTimeStep | ( | ) | const [inline] |
Returns the time the current (last read) route starts at.
Definition at line 93 of file ROTypedXMLRoutesLoader.h.
References myCurrentDepart.
Referenced by readRoutesAtLeastUntil().
void GenericSAXHandler::myCharacters | ( | int | element, |
const std::string & | chars | ||
) | [protected, virtual, inherited] |
Callback method for characters to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The opened element, given as a int |
[in] | chars | The complete embedded character string ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_SUMO, PCNetProjectionLoader, NIImporter_ITSUMO::Handler, PCLoaderXML, RORDLoader_SUMOBase, and ROJTRTurnDefLoader.
Definition at line 228 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
void GenericSAXHandler::myEndElement | ( | int | element | ) | [protected, virtual, inherited] |
Callback method for a closing tag to implement by derived classes.
Called by "endElement" (see there).
[in] | element | The closed element, given as a int ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_OpenStreetMap::EdgesHandler, NIImporter_OpenStreetMap::NodesHandler, PCLoaderOSM::EdgesHandler, SAXWeightsHandler, MSTriggeredRerouter, PCLoaderOSM::NodesHandler, NIImporter_SUMO, NIImporter_ITSUMO::Handler, MSLaneSpeedTrigger, NLHandler, RORDLoader_SUMOBase, NIXMLEdgesHandler, ODDistrictHandler, RORDGenerator_ODAmounts, MSRouteHandler, NIXMLTrafficLightsHandler, SUMORouteHandler, and RORDLoader_TripDefs.
Definition at line 232 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
void GenericSAXHandler::myStartElement | ( | int | element, |
const SUMOSAXAttributes & | attrs | ||
) | [protected, virtual, inherited] |
Callback method for an opening tag to implement by derived classes.
Called by "startElement" (see there).
[in] | element | The element that contains the characters, given as a int |
[in] | attrs | The SAX-attributes, wrapped as SUMOSAXAttributes ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_OpenDrive, NIImporter_OpenStreetMap::EdgesHandler, NIImporter_OpenStreetMap::NodesHandler, PCLoaderOSM::EdgesHandler, SAXWeightsHandler, NIImporter_MATSim::EdgesHandler, MSTriggeredRerouter, PCLoaderOSM::NodesHandler, MSLaneSpeedTrigger, NIImporter_SUMO, NLHandler, NIImporter_MATSim::NodesHandler, PCNetProjectionLoader, NIImporter_ITSUMO::Handler, PCLoaderXML, NIXMLEdgesHandler, NIXMLNodesHandler, RORDLoader_SUMOBase, ROJTRTurnDefLoader, ODDistrictHandler, RORDGenerator_ODAmounts, RONetHandler, NIXMLTypesHandler, MSRouteHandler, NIXMLConnectionsHandler, NIXMLTrafficLightsHandler, PCTypeDefHandler, AGActivityGenHandler, SUMORouteHandler, RORDLoader_TripDefs, RODFDetectorHandler, and GUISettingsHandler.
Definition at line 224 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::startElement().
ROTypedXMLRoutesLoader& ROTypedXMLRoutesLoader::operator= | ( | const ROTypedXMLRoutesLoader & | src | ) | [private] |
Invalidated assignment operator.
bool ROTypedXMLRoutesLoader::readRoutesAtLeastUntil | ( | SUMOTime | time | ) | [virtual] |
Adds routes from the file until the given time is reached.
[in] | time | The time until which route definitions shall be loaded |
ProcessError | If a major error occured |
Reimplemented in RORDGenerator_ODAmounts.
Definition at line 71 of file ROTypedXMLRoutesLoader.cpp.
References ended(), getLastReadTimeStep(), myNextRouteRead, myParser, and myToken.
void GenericSAXHandler::registerParent | ( | const int | tag, |
GenericSAXHandler * | handler | ||
) | [inherited] |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 168 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
void GenericSAXHandler::setFileName | ( | const std::string & | name | ) | [inherited] |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 80 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), AGActivityGen::importInfoCity(), NIImporter_OpenStreetMap::load(), PCNetProjectionLoader::loadIfSet(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), NILoader::loadXMLType(), and XMLSubSys::runParser().
void GenericSAXHandler::startElement | ( | const XMLCh *const | uri, |
const XMLCh *const | localname, | ||
const XMLCh *const | qname, | ||
const Attributes & | attrs | ||
) | [inherited] |
The inherited method called when a new tag opens.
The method parses the supplied XMLCh*-qname using the internal name/enum-map to obtain the enum representation of the attribute name.
Then, "myStartElement" is called supplying the enumeration value, the string-representation of the name and the attributes.
recheck/describe encoding of the string-representation
do not generate and report the string-representation
Definition at line 105 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, and SUMO_TAG_INCLUDE.
void GenericSAXHandler::warning | ( | const SAXParseException & | exception | ) | [inherited] |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occured exception to process |
Definition at line 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
SUMOTime ROTypedXMLRoutesLoader::myBegin [protected] |
The time for which the first route shall be loaded.
Definition at line 119 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDLoader_SUMOBase::closeVehicle(), RORDGenerator_ODAmounts::myEndFlowAmountDef(), and RORDGenerator_ODAmounts::readRoutesAtLeastUntil().
SUMOTime ROTypedXMLRoutesLoader::myCurrentDepart [protected] |
The currently read vehicle's depart.
Definition at line 131 of file ROTypedXMLRoutesLoader.h.
Referenced by getLastReadTimeStep(), RORDLoader_TripDefs::myStartElement(), RORDLoader_SUMOBase::myStartElement(), RORDGenerator_ODAmounts::readRoutesAtLeastUntil(), and RORDGenerator_ODAmounts::RORDGenerator_ODAmounts().
SUMOTime ROTypedXMLRoutesLoader::myEnd [protected] |
The time for which the first route shall be loaded.
Definition at line 122 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDGenerator_ODAmounts::buildForTimeStep(), RORDLoader_SUMOBase::closeVehicle(), and RORDLoader_TripDefs::myEndElement().
bool ROTypedXMLRoutesLoader::myEnded [protected] |
Information whether the whole file has been parsed.
Definition at line 137 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDGenerator_ODAmounts::buildForTimeStep(), endDocument(), and ended().
RONet& ROTypedXMLRoutesLoader::myNet [protected] |
The network to add routes to.
Definition at line 116 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDGenerator_ODAmounts::buildForTimeStep(), RORDLoader_SUMOBase::closeVehicle(), RORDLoader_TripDefs::getEdge(), RORDLoader_SUMOBase::myCharacters(), RORDLoader_TripDefs::myEndElement(), RORDLoader_SUMOBase::myEndElement(), and RORDGenerator_ODAmounts::myEndFlowAmountDef().
bool ROTypedXMLRoutesLoader::myNextRouteRead [protected] |
The information whether the next route was read.
Definition at line 134 of file ROTypedXMLRoutesLoader.h.
Referenced by RORDLoader_TripDefs::myEndElement(), RORDLoader_SUMOBase::myEndElement(), RORDGenerator_ODAmounts::myEndFlowAmountDef(), and readRoutesAtLeastUntil().
SAX2XMLReader* ROTypedXMLRoutesLoader::myParser [protected] |
The parser used.
Definition at line 125 of file ROTypedXMLRoutesLoader.h.
Referenced by readRoutesAtLeastUntil(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), ROTypedXMLRoutesLoader(), and ~ROTypedXMLRoutesLoader().
XMLPScanToken ROTypedXMLRoutesLoader::myToken [protected] |
Information about the current position within the file.
Definition at line 128 of file ROTypedXMLRoutesLoader.h.
Referenced by readRoutesAtLeastUntil(), RORDGenerator_ODAmounts::RORDGenerator_ODAmounts(), and ROTypedXMLRoutesLoader().