![]() |
SUMO - Simulation of Urban MObility
|
Importer for edge connections stored in XML. More...
#include <NIXMLTrafficLightsHandler.h>


Public Member Functions | |
| void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
| The inherited method called when characters occured. More... | |
| void | endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname) |
| The inherited method called when a tag is being closed. More... | |
| const std::string & | getFileName () const |
| returns the current file name More... | |
| NIXMLTrafficLightsHandler (NBTrafficLightLogicCont &tlCont, NBEdgeCont &ec) | |
| Constructor. More... | |
| void | registerParent (const int tag, GenericSAXHandler *handler) |
| Assigning a parent handler which is enabled when the specified tag is closed. More... | |
| void | setFileName (const std::string &name) |
| Sets the current file name. More... | |
| 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. More... | |
| ~NIXMLTrafficLightsHandler () | |
| Destructor. More... | |
SAX ErrorHandler callbacks | |
| void | warning (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Handler for XML-warnings. More... | |
| void | error (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Handler for XML-errors. More... | |
| void | fatalError (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Handler for XML-errors. More... | |
Protected Member Functions | |
| std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
| Builds an error message. More... | |
| virtual void | myCharacters (int element, const std::string &chars) |
| Callback method for characters to implement by derived classes. More... | |
inherited from GenericSAXHandler | |
| void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
| Called on the opening of a tag;. More... | |
| void | myEndElement (int element) |
| Called when a closing tag occurs. More... | |
Private Member Functions | |
| void | addTlConnection (const SUMOSAXAttributes &attrs) |
| reads and adds tl-controlled connection More... | |
| NBLoadedSUMOTLDef * | initTrafficLightLogic (const SUMOSAXAttributes &attrs, NBLoadedSUMOTLDef *currentTL) |
| NIXMLTrafficLightsHandler (const NIXMLTrafficLightsHandler &s) | |
| invalidated copy constructor More... | |
| NIXMLTrafficLightsHandler & | operator= (const NIXMLTrafficLightsHandler &s) |
| invalidated assignment operator More... | |
| void | removeTlConnection (const SUMOSAXAttributes &attrs) |
| reads and removes tl-controlled connection More... | |
| NBEdge * | retrieveEdge (const SUMOSAXAttributes &attrs, SumoXMLAttr attr, bool &ok) |
| parses and edge id an returns an existing edge More... | |
| int | retrieveLaneIndex (const SUMOSAXAttributes &attrs, SumoXMLAttr attr, NBEdge *edge, bool &ok) |
| parses a lane index and verifies its correctness More... | |
Private Attributes | |
| NBLoadedSUMOTLDef * | myCurrentTL |
| The currently parsed traffic light. More... | |
| NBEdgeCont & | myEdgeCont |
| The edge container for retrieving edges. More... | |
| bool | myResetPhases |
| whether phases of a previously loaded traffic light must be reset More... | |
| NBTrafficLightLogicCont & | myTLLCont |
| The traffic light container to fill. More... | |
Importer for edge connections stored in XML.
This importer parses connections, and prohibitions, and is able to reset connections between edges.
Definition at line 56 of file NIXMLTrafficLightsHandler.h.
| NIXMLTrafficLightsHandler::NIXMLTrafficLightsHandler | ( | NBTrafficLightLogicCont & | tlCont, |
| NBEdgeCont & | ec | ||
| ) |
Constructor.
| [in] | ec | The traffic light container into which to load logics |
Definition at line 59 of file NIXMLTrafficLightsHandler.cpp.
| NIXMLTrafficLightsHandler::~NIXMLTrafficLightsHandler | ( | ) |
Destructor.
Definition at line 69 of file NIXMLTrafficLightsHandler.cpp.
|
private |
invalidated copy constructor
|
private |
reads and adds tl-controlled connection
Definition at line 218 of file NIXMLTrafficLightsHandler.cpp.
References NBLoadedSUMOTLDef::addConnection(), NBEdge::Connection::fromLane, NBEdge::getConnections(), Named::getID(), SUMOSAXAttributes::getOpt(), NBTrafficLightLogicCont::getPrograms(), NBEdge::getToNode(), NBNode::getType(), myTLLCont, NODETYPE_RAIL_CROSSING, NODETYPE_RAIL_SIGNAL, retrieveEdge(), retrieveLaneIndex(), SUMO_ATTR_FROM, SUMO_ATTR_FROM_LANE, SUMO_ATTR_TLID, SUMO_ATTR_TLLINKINDEX, SUMO_ATTR_TO, SUMO_ATTR_TO_LANE, NBEdge::Connection::tlID, NBEdge::Connection::tlLinkNo, NBEdge::Connection::toEdge, NBEdge::Connection::toLane, toString(), and WRITE_ERROR.
Referenced by myStartElement().
|
protectedinherited |
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 187 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName().
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
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 170 of file GenericSAXHandler.cpp.
References TplConvert::_2str(), and GenericSAXHandler::myCharactersVector.
|
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 121 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.
|
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 206 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::addPersonTrip(), MSRouteHandler::closeContainer(), MSRouteHandler::closePerson(), NIImporter_OpenDrive::geomFromSpiral(), and MSRouteHandler::myStartElement().
|
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 212 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 81 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NLHandler::addE1Detector(), NLHandler::addE2Detector(), NLHandler::addEdgeLaneMeanData(), NLHandler::addInstantE1Detector(), ShapeHandler::addPOI(), ShapeHandler::addPoly(), NLHandler::addRouteProbeDetector(), NLHandler::addVTypeProbeDetector(), NLHandler::beginE3Detector(), GenericSAXHandler::buildErrorMessage(), PCNetProjectionLoader::load(), NILoader::loadXMLType(), NLHandler::myEndElement(), RODFDetectorHandler::myStartElement(), GUISettingsHandler::myStartElement(), SUMORouteHandler::myStartElement(), NLHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
|
private |
begins the reading of a traffic lights logic This differs from NIImporter_SUMO::initTrafficLightLogic insofar as partial definitions (diffs) are allowed in an xml file
Definition at line 126 of file NIXMLTrafficLightsHandler.cpp.
References NBTrafficLightDefinition::addControlledInnerEdges(), NBTrafficLightDefinition::addNode(), NBTrafficLightDefinition::DefaultProgramID, SUMOSAXAttributes::get(), StringBijection< T >::get(), NBTrafficLightDefinition::getControlledInnerEdges(), NBTrafficLightLogicCont::getDefinition(), Named::getID(), NBLoadedSUMOTLDef::getLogic(), NBTrafficLightDefinition::getNodes(), NBTrafficLightLogic::getNumLinks(), SUMOSAXAttributes::getOpt(), OptionsCont::getOptions(), NBTrafficLightLogicCont::getPrograms(), OptionsCont::getString(), SUMOSAXAttributes::hasAttribute(), NBTrafficLightLogicCont::insert(), myResetPhases, myTLLCont, NBTrafficLightLogicCont::removeProgram(), NBLoadedSUMOTLDef::setOffset(), NBLoadedSUMOTLDef::setType(), SUMO_ATTR_ID, SUMO_ATTR_OFFSET, SUMO_ATTR_PROGRAMID, SUMO_ATTR_TYPE, TIME2STEPS, SUMOXMLDefinitions::TrafficLightTypes, and WRITE_ERROR.
Referenced by myStartElement().
|
protectedvirtualinherited |
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_ITSUMO::Handler.
Definition at line 222 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
protectedvirtual |
Called when a closing tag occurs.
| [in] | element | ID of the currently opened element |
| ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 110 of file NIXMLTrafficLightsHandler.cpp.
References myCurrentTL, SUMO_TAG_TLLOGIC, and WRITE_ERROR.
|
protectedvirtual |
Called on the opening of a tag;.
| [in] | element | ID of the currently opened element |
| [in] | attrs | Attributes within the currently opened element |
| ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 73 of file NIXMLTrafficLightsHandler.cpp.
References NIImporter_SUMO::addPhase(), addTlConnection(), SUMOSAXAttributes::get(), NBLoadedSUMOTLDef::getLogic(), SUMOSAXAttributes::getString(), SUMOSAXAttributes::hasAttribute(), initTrafficLightLogic(), myCurrentTL, myResetPhases, NBLoadedSUMOTLDef::phasesLoaded(), removeTlConnection(), NBTrafficLightLogic::resetPhases(), Parameterised::setParameter(), SUMO_ATTR_KEY, SUMO_ATTR_VALUE, SUMO_TAG_CONNECTION, SUMO_TAG_DELETE, SUMO_TAG_PARAM, SUMO_TAG_PHASE, and SUMO_TAG_TLLOGIC.
|
private |
invalidated assignment operator
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 162 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
private |
reads and removes tl-controlled connection
Definition at line 278 of file NIXMLTrafficLightsHandler.cpp.
References SUMOSAXAttributes::get(), NBTrafficLightLogicCont::getPrograms(), myTLLCont, NBLoadedSUMOTLDef::removeConnection(), retrieveEdge(), retrieveLaneIndex(), SUMO_ATTR_FROM, SUMO_ATTR_FROM_LANE, SUMO_ATTR_TLID, SUMO_ATTR_TLLINKINDEX, SUMO_ATTR_TO, and SUMO_ATTR_TO_LANE.
Referenced by myStartElement().
|
private |
parses and edge id an returns an existing edge
Definition at line 314 of file NIXMLTrafficLightsHandler.cpp.
References SUMOSAXAttributes::get(), myEdgeCont, NBEdgeCont::retrieve(), and WRITE_ERROR.
Referenced by addTlConnection(), and removeTlConnection().
|
private |
parses a lane index and verifies its correctness
Definition at line 327 of file NIXMLTrafficLightsHandler.cpp.
References SUMOSAXAttributes::get(), Named::getID(), NBEdge::getNumLanes(), toString(), and WRITE_ERROR.
Referenced by addTlConnection(), and removeTlConnection().
|
inherited |
Sets the current file name.
| [in] | name | The name of the currently processed file |
Definition at line 75 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), GUISettingsHandler::GUISettingsHandler(), PCNetProjectionLoader::load(), NIImporter_OpenStreetMap::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_Vissim::loadXML(), NILoader::loadXMLType(), main(), and XMLSubSys::runParser().
|
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 100 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.
|
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 200 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
The currently parsed traffic light.
Definition at line 101 of file NIXMLTrafficLightsHandler.h.
Referenced by myEndElement(), and myStartElement().
|
private |
The edge container for retrieving edges.
Definition at line 98 of file NIXMLTrafficLightsHandler.h.
Referenced by retrieveEdge().
|
private |
whether phases of a previously loaded traffic light must be reset
Definition at line 104 of file NIXMLTrafficLightsHandler.h.
Referenced by initTrafficLightLogic(), and myStartElement().
|
private |
The traffic light container to fill.
Definition at line 95 of file NIXMLTrafficLightsHandler.h.
Referenced by addTlConnection(), initTrafficLightLogic(), and removeTlConnection().