SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RORouteHandler Class Reference

Parser and container for routes during their loading. More...

#include <RORouteHandler.h>

Inheritance diagram for RORouteHandler:
SUMORouteHandler SUMOSAXHandler GenericSAXHandler DefaultHandler

Public Member Functions

void characters (const XMLCh *const chars, const XERCES3_SIZE_t length)
 The inherited method called when characters occured.
 
bool checkStopPos (SUMOReal &startPos, SUMOReal &endPos, const SUMOReal laneLength, const SUMOReal minLength, const bool friendlyPos)
 check start and end position of a stop
 
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 getLastDepart () const
 Returns the last loaded depart time.
 
void registerParent (const int tag, GenericSAXHandler *handler)
 Assigning a parent handler which is enabled when the specified tag is closed.
 
 RORouteHandler (RONet &net, const std::string &file, const bool tryRepair)
 standard 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 XERCES_CPP_NAMESPACE::Attributes &attrs)
 The inherited method called when a new tag opens.
 
virtual ~RORouteHandler ()
 standard destructor
 
SAX ErrorHandler callbacks
void warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-warnings.
 
void error (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-errors.
 
void fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Handler for XML-errors.
 

Protected Member Functions

void addStop (const SUMOSAXAttributes &attrs)
 Processing of a stop.
 
std::string buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception)
 Builds an error message.
 
bool checkLastDepart ()
 Checks whether the route file is sorted by departure time if needed.
 
void closeFlow ()
 Ends the processing of a flow.
 
void closePerson ()
 Ends the processing of a person.
 
void closeRoute ()
 
void closeRouteDistribution ()
 
void closeVehicle ()
 Ends the processing of a vehicle.
 
void closeVehicleTypeDistribution ()
 
virtual void myCharacters (int element, const std::string &chars)
 Callback method for characters to implement by derived classes.
 
void openRoute (const SUMOSAXAttributes &attrs)
 
void openRouteDistribution (const SUMOSAXAttributes &attrs)
 
void openVehicleTypeDistribution (const SUMOSAXAttributes &attrs)
 
void parseEdges (const std::string &desc, std::vector< const ROEdge * > &into, const std::string &rid)
 Parse edges from strings.
 
void registerLastDepart ()
 save last depart (only to be used if vehicle is not discarded)
 
inherited from GenericSAXHandler
virtual void myStartElement (int element, const SUMOSAXAttributes &attrs)
 Called on the opening of a tag;.
 
virtual void myEndElement (int element)
 Called when a closing tag occurs.
 

Protected Attributes

OutputDevice_String * myActivePlan
 The plan of the current person.
 
std::vector< const ROEdge * > myActiveRoute
 The current route.
 
const RGBColor * myActiveRouteColor
 The currently parsed route's color.
 
std::string myActiveRouteID
 The id of the current route.
 
SUMOReal myActiveRouteProbability
 The id of the current route.
 
std::string myActiveRouteRefID
 The id of the route the current route references to.
 
std::vector
< SUMOVehicleParameter::Stop > 
myActiveRouteStops
 List of the stops on the parsed route.
 
RORouteDef * myCurrentAlternatives
 The currently parsed route alternatives.
 
SUMOReal myCurrentCosts
 The currently parsed route costs.
 
SUMOVTypeParameter * myCurrentVType
 The currently parsed vehicle type.
 
RandomDistributor
< SUMOVTypeParameter * > * 
myCurrentVTypeDistribution
 The currently parsed distribution of vehicle types (probability->vehicle type)
 
std::string myCurrentVTypeDistributionID
 The id of the currently parsed vehicle type distribution.
 
SUMOTime myLastDepart
 The insertion time of the vehicle read last.
 
RONet & myNet
 The current route.
 
std::map< const SUMOTime,
std::string > 
myPersonBuffer
 Buffered person descriptions (with plans)
 
const bool myTryRepair
 Information whether routes shall be repaired.
 
SUMOVehicleParameter * myVehicleParameter
 Parameter of the current vehicle, trip, person, or flow.
 

Private Member Functions

RORouteHandler & operator= (const RORouteHandler &s)
 Invalidated assignment operator.
 
 RORouteHandler (const RORouteHandler &s)
 Invalidated copy constructor.
 

Detailed Description

Parser and container for routes during their loading.

RORouteHandler is the container for routes while they are build until their transfering to the MSNet::RouteDict The result of the operations are single MSNet::Route-instances

Definition at line 63 of file RORouteHandler.h.

Constructor & Destructor Documentation

RORouteHandler::RORouteHandler ( RONet &  net,
const std::string &  file,
const bool  tryRepair 
)

standard constructor

Definition at line 58 of file RORouteHandler.cpp.

References myActiveRoute.

RORouteHandler::~RORouteHandler ( )
virtual

standard destructor

Definition at line 70 of file RORouteHandler.cpp.

RORouteHandler::RORouteHandler ( const RORouteHandler &  s)
private

Invalidated copy constructor.

Member Function Documentation

void RORouteHandler::addStop ( const SUMOSAXAttributes &  attrs)
protectedvirtual

Processing of a stop.

Implements SUMORouteHandler.

Definition at line 395 of file RORouteHandler.cpp.

std::string GenericSAXHandler::buildErrorMessage ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
protectedinherited

Builds an error message.

The error message includes the file name and the line/column information as supported by the given SAXParseException

Parameters
[in]exceptionThe name of the currently processed file
Returns
A string describing the given exception

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.

Todo:

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 TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.

bool SUMORouteHandler::checkLastDepart ( )
protectedinherited
bool SUMORouteHandler::checkStopPos ( SUMOReal &  startPos,
SUMOReal &  endPos,
const SUMOReal  laneLength,
const SUMOReal  minLength,
const bool  friendlyPos 
)
inherited

check start and end position of a stop

Definition at line 177 of file SUMORouteHandler.cpp.

Referenced by MSRouteHandler::addStop().

void RORouteHandler::closeFlow ( )
protectedvirtual

Ends the processing of a flow.

Implements SUMORouteHandler.

Definition at line 356 of file RORouteHandler.cpp.

void RORouteHandler::closePerson ( )
protectedvirtual
void RORouteHandler::closeRoute ( )
protectedvirtual
void RORouteHandler::closeRouteDistribution ( )
protectedvirtual

closes (ends) the building of a distribution

Implements SUMORouteHandler.

Definition at line 306 of file RORouteHandler.cpp.

References RONet::addRouteDef(), Named::getID(), RORouteDef::getOverallProb(), myCurrentAlternatives, myNet, and WRITE_ERROR.

void RORouteHandler::closeVehicleTypeDistribution ( )
protectedvirtual
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.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 126 of file GenericSAXHandler.cpp.

References TplConvert::_2str(), 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 XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Parameters
[in]exceptionThe occured exception to process
Exceptions
ProcessErrorOn any call

Definition at line 212 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

void GenericSAXHandler::fatalError ( const XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-errors.

The message is built using buildErrorMessage and thrown within a ProcessError.

Exceptions
ProcessErrorOn any call
Parameters
[in]exceptionThe occured exception to process

Definition at line 218 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage().

SUMOTime SUMORouteHandler::getLastDepart ( ) const
inherited

Returns the last loaded depart time.

Definition at line 68 of file SUMORouteHandler.cpp.

References SUMORouteHandler::myLastDepart.

void GenericSAXHandler::myCharacters ( int  element,
const std::string &  chars 
)
protectedvirtualinherited

Callback method for characters to implement by derived classes.

Called by "endElement" (see there).

Parameters
[in]elementThe opened element, given as a int
[in]charsThe complete embedded character string ProcessError These method may throw a ProcessError if something fails

Reimplemented in NIImporter_ITSUMO::Handler.

Definition at line 228 of file GenericSAXHandler.cpp.

Referenced by GenericSAXHandler::endElement().

void RORouteHandler::myEndElement ( int  element)
protectedvirtual

Called when a closing tag occurs.

Parameters
[in]elementID of the currently opened element
Exceptions
ProcessErrorIf something fails
See Also
GenericSAXHandler::myEndElement

Reimplemented from SUMORouteHandler.

Definition at line 209 of file RORouteHandler.cpp.

References RandomDistributor< T >::add(), RONet::addVehicleType(), SUMOVTypeParameter::defaultProbability, SUMORouteHandler::myCurrentVType, myCurrentVTypeDistribution, SUMORouteHandler::myEndElement(), myNet, and SUMO_TAG_VTYPE.

RORouteHandler& RORouteHandler::operator= ( const RORouteHandler &  s)
private

Invalidated assignment operator.

void RORouteHandler::parseEdges ( const std::string &  desc,
std::vector< const ROEdge * > &  into,
const std::string &  rid 
)
protected

Parse edges from strings.

Definition at line 493 of file RORouteHandler.cpp.

References RONet::getEdge(), StringTokenizer::hasNext(), myNet, and StringTokenizer::next().

Referenced by myStartElement(), and openRoute().

void SUMORouteHandler::registerLastDepart ( )
protectedinherited
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.

Parameters
[in]nameThe name of the currently processed file
Todo:
Hmmm - this is as unsafe as having a direct access to the variable; recheck

Definition at line 80 of file GenericSAXHandler.cpp.

References GenericSAXHandler::myFileName.

Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), PCNetProjectionLoader::loadIfSet(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and XMLSubSys::runParser().

void GenericSAXHandler::startElement ( const XMLCh *const  uri,
const XMLCh *const  localname,
const XMLCh *const  qname,
const XERCES_CPP_NAMESPACE::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.

Todo:

recheck/describe encoding of the string-representation

do not generate and report the string-representation

Definition at line 105 of file GenericSAXHandler.cpp.

References TplConvert::_2str(), 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 XERCES_CPP_NAMESPACE::SAXParseException &  exception)
inherited

Handler for XML-warnings.

The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.

Parameters
[in]exceptionThe occured exception to process

Definition at line 206 of file GenericSAXHandler.cpp.

References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.

Field Documentation

OutputDevice_String* RORouteHandler::myActivePlan
protected

The plan of the current person.

Definition at line 143 of file RORouteHandler.h.

Referenced by closePerson(), and myStartElement().

std::vector<const ROEdge*> RORouteHandler::myActiveRoute
protected

The current route.

Definition at line 140 of file RORouteHandler.h.

Referenced by closeRoute(), myStartElement(), openRoute(), and RORouteHandler().

const RGBColor* SUMORouteHandler::myActiveRouteColor
protectedinherited

The currently parsed route's color.

Definition at line 147 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), closeRoute(), MSRouteHandler::openRoute(), and openRoute().

SUMOReal SUMORouteHandler::myActiveRouteProbability
protectedinherited

The id of the current route.

Definition at line 144 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), closeRoute(), MSRouteHandler::openRoute(), and openRoute().

std::string SUMORouteHandler::myActiveRouteRefID
protectedinherited

The id of the route the current route references to.

Definition at line 141 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::closeRoute(), closeRoute(), MSRouteHandler::openRoute(), and openRoute().

std::vector<SUMOVehicleParameter::Stop> SUMORouteHandler::myActiveRouteStops
protectedinherited

List of the stops on the parsed route.

Definition at line 150 of file SUMORouteHandler.h.

Referenced by MSRouteHandler::addStop(), MSRouteHandler::closeRoute(), and closeRoute().

RORouteDef* RORouteHandler::myCurrentAlternatives
protected

The currently parsed route alternatives.

Definition at line 158 of file RORouteHandler.h.

Referenced by closeRoute(), closeRouteDistribution(), openRoute(), and openRouteDistribution().

SUMOReal RORouteHandler::myCurrentCosts
protected

The currently parsed route costs.

Definition at line 161 of file RORouteHandler.h.

Referenced by closeRoute().

SUMOVTypeParameter* SUMORouteHandler::myCurrentVType
protectedinherited
RandomDistributor<SUMOVTypeParameter*>* RORouteHandler::myCurrentVTypeDistribution
protected

The currently parsed distribution of vehicle types (probability->vehicle type)

Definition at line 152 of file RORouteHandler.h.

Referenced by closeVehicleTypeDistribution(), myEndElement(), and openVehicleTypeDistribution().

std::string RORouteHandler::myCurrentVTypeDistributionID
protected

The id of the currently parsed vehicle type distribution.

Definition at line 155 of file RORouteHandler.h.

Referenced by closeVehicleTypeDistribution(), and openVehicleTypeDistribution().

SUMOTime SUMORouteHandler::myLastDepart
protectedinherited

The insertion time of the vehicle read last.

Definition at line 135 of file SUMORouteHandler.h.

Referenced by SUMORouteHandler::checkLastDepart(), SUMORouteHandler::getLastDepart(), and SUMORouteHandler::registerLastDepart().

std::map<const SUMOTime, std::string> RORouteHandler::myPersonBuffer
protected

Buffered person descriptions (with plans)

Definition at line 146 of file RORouteHandler.h.

Referenced by closePerson().

const bool RORouteHandler::myTryRepair
protected

Information whether routes shall be repaired.

Definition at line 149 of file RORouteHandler.h.

Referenced by closeRoute().


The documentation for this class was generated from the following files: