Eclipse SUMO - Simulation of Urban MObility
|
#include <GNEGeneralHandler.h>
Data Structures | |
struct | TagType |
tagType More... | |
Public Member Functions | |
void | characters (const XMLCh *const chars, const XERCES3_SIZE_t length) |
The inherited method called when characters occurred. | |
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 | |
GNEGeneralHandler (GNENet *net, const std::string &file, const bool allowUndoRedo, const bool overwrite) | |
Constructor. | |
bool | isAdditionalFile () const |
check if the parser file is a additional file | |
bool | isErrorCreatingElement () const |
get flag for check if a element wasn't created | |
bool | isMeanDataFile () const |
check if the parser file is a meanData file | |
bool | isRouteFile () const |
check if the parser file is a route file | |
bool | parse () |
parse | |
bool | postParserTasks () |
run post parser tasks | |
void | registerParent (const int tag, GenericSAXHandler *handler) |
Assigning a parent handler which is enabled when the specified tag is closed. | |
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. | |
~GNEGeneralHandler () | |
Destructor. | |
Private Member Functions | |
void | beginTag (SumoXMLTag tag, const SUMOSAXAttributes &attrs) |
start element | |
void | endTag () |
end element | |
GNEGeneralHandler (const GNEGeneralHandler &s)=delete | |
invalidate copy constructor | |
GNEGeneralHandler & | operator= (const GNEGeneralHandler &s)=delete |
invalidate assignment operator | |
inherited from SUMOSAXHandler | |
void | myStartElement (int element, const SUMOSAXAttributes &attrs) |
Called on the opening of a tag;. | |
void | myEndElement (int element) |
Called when a closing tag occurs. | |
Private Attributes | |
TagType::Type | fileType = TagType::Type::NONE |
flag for set file type | |
GNEAdditionalHandler | myAdditionalHandler |
additional handler | |
GNERouteHandler | myDemandHandler |
demand handler | |
GNEMeanDataHandler | myMeanDataHandler |
meanData handler | |
std::list< TagType > | myQueue |
queue with the inserted tags | |
attributes parsing | |
AttrMap | myPredefinedTags |
std::vector< std::string > | myPredefinedTagsMML |
the map from ids to their string representation | |
typedef std::vector< XMLCh * > | AttrMap |
elements parsing | |
TagMap | myTagMap |
std::vector< std::string > | myCharactersVector |
A list of character strings obtained so far to build the complete characters string at the end. | |
GenericSAXHandler * | myParentHandler |
The handler to give control back to. | |
int | myParentIndicator |
The tag indicating that control should be given back. | |
std::string | myFileName |
The name of the currently parsed file. | |
std::string | myExpectedRoot |
The root element to expect, empty string disables the check. | |
bool | myCollectCharacterData = false |
whether the reader should collect character data | |
bool | myRootSeen = false |
whether the reader has already seen the root element | |
int | mySection = -1 |
The tag indicating the current section to parse. | |
bool | mySectionSeen = false |
whether the reader has already seen the begin of the section | |
bool | mySectionEnded = false |
whether the reader has already seen the end of the section | |
bool | mySectionOpen = false |
whether an element of the current section is open | |
std::pair< int, SUMOSAXAttributes * > | myNextSectionStart |
typedef std::map< std::string, int > | TagMap |
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. | |
void | setSection (const int element, const bool seen) |
bool | sectionFinished () const |
std::pair< int, SUMOSAXAttributes * > | retrieveNextSectionStart () |
void | needsCharacterData (const bool value=true) |
XMLCh * | convert (const std::string &name) const |
converts from c++-string into unicode | |
int | convertTag (const std::string &tag) const |
Converts a tag from its string into its numerical representation. | |
std::string | buildErrorMessage (const XERCES_CPP_NAMESPACE::SAXParseException &exception) |
Builds an error message. | |
virtual void | myCharacters (int element, const std::string &chars) |
Callback method for characters to implement by derived classes. | |
void | callParentEnd (int element) |
signal endElement to the parent handler (special case for MSCalibrator) | |
Definition at line 42 of file GNEGeneralHandler.h.
|
privateinherited |
Definition at line 303 of file GenericSAXHandler.h.
|
privateinherited |
Definition at line 317 of file GenericSAXHandler.h.
GNEGeneralHandler::GNEGeneralHandler | ( | GNENet * | net, |
const std::string & | file, | ||
const bool | allowUndoRedo, | ||
const bool | overwrite | ||
) |
Constructor.
[in] | net | GNENet |
[in] | file | Name of the parsed file |
[in] | allowUndoRedo | enable or disable undoRedo |
[in] | overwrite | enable or disable overwrite elements |
Definition at line 35 of file GNEGeneralHandler.cpp.
GNEGeneralHandler::~GNEGeneralHandler | ( | ) |
Destructor.
Definition at line 43 of file GNEGeneralHandler.cpp.
|
privatedelete |
invalidate copy constructor
|
privatevirtual |
start element
Implements GeneralHandler.
Definition at line 87 of file GNEGeneralHandler.cpp.
References GNEGeneralHandler::TagType::ADDITIONAL, AdditionalHandler::beginParseAttributes(), MeanDataHandler::beginParseAttributes(), RouteHandler::beginParseAttributes(), GNEGeneralHandler::TagType::DEMAND, GNEGeneralHandler::TagType::MEANDATA, myAdditionalHandler, myDemandHandler, myMeanDataHandler, myQueue, GNEGeneralHandler::TagType::NETWORK, GNEGeneralHandler::TagType::NONE, SUMO_TAG_FLOW, SUMO_TAG_INTERVAL, SUMO_TAG_LOCATION, and SUMO_TAG_PARAM.
|
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 205 of file GenericSAXHandler.cpp.
References GenericSAXHandler::getFileName(), and TL.
Referenced by GenericSAXHandler::error(), GenericSAXHandler::fatalError(), and GenericSAXHandler::warning().
|
protectedinherited |
signal endElement to the parent handler (special case for MSCalibrator)
Definition at line 247 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myEndElement(), and GenericSAXHandler::myParentHandler.
Referenced by MSCalibrator::myEndElement().
|
inherited |
The inherited method called when characters occurred.
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 186 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myCharactersVector, GenericSAXHandler::myCollectCharacterData, and StringUtils::transcode().
|
privateinherited |
converts from c++-string into unicode
[in] | name | The string to convert |
Definition at line 86 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::GenericSAXHandler().
|
privateinherited |
Converts a tag from its string into its numerical representation.
Returns the enum-representation stored for the given tag. If the tag is not known, SUMO_TAG_NOTHING is returned.
[in] | tag | The string to convert |
Definition at line 195 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myTagMap, and SUMO_TAG_NOTHING.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::startElement().
|
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 134 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), GenericSAXHandler::myCharacters(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myEndElement(), GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, GenericSAXHandler::mySection, GenericSAXHandler::mySectionOpen, XMLSubSys::setHandler(), SUMO_TAG_INCLUDE, SUMO_TAG_NOTHING, and StringUtils::transcode().
|
privatevirtual |
end element
Implements GeneralHandler.
Definition at line 143 of file GNEGeneralHandler.cpp.
References GNEGeneralHandler::TagType::ADDITIONAL, GNEGeneralHandler::TagType::DEMAND, AdditionalHandler::endParseAttributes(), MeanDataHandler::endParseAttributes(), RouteHandler::endParseAttributes(), fileType, GNEGeneralHandler::TagType::MEANDATA, myAdditionalHandler, myDemandHandler, myMeanDataHandler, myQueue, and GNEGeneralHandler::TagType::NONE.
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
[in] | exception | The occurred exception to process |
ProcessError | On any call |
Definition at line 224 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
Referenced by MSRouteHandler::addFlowTransportable(), MSRouteHandler::addTransportable(), MSRouteHandler::closeTransportable(), NIImporter_OpenDrive::geomFromSpiral(), and MSRouteHandler::interpretDepartPosLat().
|
inherited |
Handler for XML-errors.
The message is built using buildErrorMessage and thrown within a ProcessError.
ProcessError | On any call |
[in] | exception | The occurred exception to process |
Definition at line 230 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage().
|
inherited |
returns the current file name
Definition at line 80 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(), NLHandler::myEndElement(), RODFDetectorHandler::myStartElement(), NIImporter_OpenDrive::myStartElement(), NIXMLConnectionsHandler::myStartElement(), NIXMLEdgesHandler::myStartElement(), NIXMLNodesHandler::myStartElement(), NLHandler::myStartElement(), GUISettingsHandler::myStartElement(), SUMORouteHandler::myStartElement(), DataHandler::parse(), GeneralHandler::parse(), XMLSubSys::runParser(), GenericSAXHandler::startElement(), and SUMORouteLoader::SUMORouteLoader().
bool GNEGeneralHandler::isAdditionalFile | ( | ) | const |
check if the parser file is a additional file
Definition at line 69 of file GNEGeneralHandler.cpp.
References GNEGeneralHandler::TagType::ADDITIONAL, and fileType.
Referenced by postParserTasks().
bool GNEGeneralHandler::isErrorCreatingElement | ( | ) | const |
get flag for check if a element wasn't created
Definition at line 61 of file GNEGeneralHandler.cpp.
References CommonHandler::isErrorCreatingElement(), myAdditionalHandler, myDemandHandler, and myMeanDataHandler.
Referenced by GNEApplicationWindow::loadAdditionalElements(), GNEApplicationWindow::loadDemandElements(), GNEApplicationWindow::loadMeanDataElements(), GNEApplicationWindow::onCmdOpenAdditionals(), GNEApplicationWindow::onCmdOpenDemandElements(), and GNEApplicationWindow::onCmdOpenMeanDatas().
bool GNEGeneralHandler::isMeanDataFile | ( | ) | const |
check if the parser file is a meanData file
Definition at line 81 of file GNEGeneralHandler.cpp.
References fileType, and GNEGeneralHandler::TagType::MEANDATA.
Referenced by postParserTasks().
bool GNEGeneralHandler::isRouteFile | ( | ) | const |
check if the parser file is a route file
Definition at line 75 of file GNEGeneralHandler.cpp.
References GNEGeneralHandler::TagType::DEMAND, and fileType.
Referenced by postParserTasks().
|
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 @exceptions ProcessError These method may throw a ProcessError if something fails |
Reimplemented in NIImporter_ITSUMO::Handler, and NIImporter_OpenDrive.
Definition at line 240 of file GenericSAXHandler.cpp.
Referenced by GenericSAXHandler::endElement().
|
privatevirtualinherited |
Called when a closing tag occurs.
[in] | element | ID of the currently opened element |
ProcessError | If something fails |
Reimplemented from GenericSAXHandler.
Definition at line 62 of file GeneralHandler.cpp.
References GeneralHandler::endTag().
|
privatevirtualinherited |
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 53 of file GeneralHandler.cpp.
References GeneralHandler::beginTag(), and SUMO_TAG_ROOTFILE.
|
inlineinherited |
Definition at line 220 of file GenericSAXHandler.h.
References GenericSAXHandler::myCollectCharacterData.
Referenced by NIImporter_ITSUMO::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), and NIImporter_OpenDrive::myCharacters().
|
privatedelete |
invalidate assignment operator
|
inherited |
parse
Definition at line 44 of file GeneralHandler.cpp.
References GenericSAXHandler::getFileName(), GeneralHandler::postParserTasks(), and XMLSubSys::runParser().
Referenced by GNENet::computeNetwork(), GNEApplicationWindow::loadAdditionalElements(), GNEApplicationWindow::loadDemandElements(), GNEApplicationWindow::loadMeanDataElements(), GNENetDiffTool::loadShapes(), GNEApplicationWindow::onCmdOpenAdditionals(), GNEApplicationWindow::onCmdOpenDemandElements(), GNEApplicationWindow::onCmdOpenMeanDatas(), GNEApplicationWindow::onCmdReloadAdditionals(), GNEApplicationWindow::onCmdReloadDemandElements(), and GNEApplicationWindow::onCmdReloadMeanDatas().
|
virtual |
run post parser tasks
Implements GeneralHandler.
Definition at line 47 of file GNEGeneralHandler.cpp.
References isAdditionalFile(), isMeanDataFile(), isRouteFile(), myAdditionalHandler, myDemandHandler, myMeanDataHandler, GNEAdditionalHandler::postParserTasks(), GNEMeanDataHandler::postParserTasks(), and GNERouteHandler::postParserTasks().
|
inherited |
Assigning a parent handler which is enabled when the specified tag is closed.
Definition at line 178 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myParentHandler, GenericSAXHandler::myParentIndicator, and XMLSubSys::setHandler().
Referenced by NLTriggerBuilder::parseAndBuildCalibrator(), NLTriggerBuilder::parseAndBuildLaneSpeedTrigger(), and NLTriggerBuilder::parseAndBuildRerouter().
|
inlineinherited |
Definition at line 213 of file GenericSAXHandler.h.
References GenericSAXHandler::myNextSectionStart.
Referenced by SUMOSAXReader::parseSection().
|
inlineinherited |
Definition at line 209 of file GenericSAXHandler.h.
References GenericSAXHandler::mySectionEnded.
Referenced by SUMOSAXReader::parseSection().
|
inherited |
Sets the current file name.
[in] | name | The name of the currently processed file |
Definition at line 74 of file GenericSAXHandler.cpp.
References GenericSAXHandler::myFileName.
Referenced by NIImporter_SUMO::_loadNetwork(), MSStateHandler::MSStateTimeHandler::getTime(), GUISettingsHandler::GUISettingsHandler(), NIImporter_OpenStreetMap::load(), NIImporter_Vissim::load(), PCNetProjectionLoader::load(), NITypeLoader::load(), loadNet(), ROLoader::loadNet(), NIImporter_ITSUMO::loadNetwork(), NIImporter_MATSim::loadNetwork(), NIImporter_OpenDrive::loadNetwork(), main(), and XMLSubSys::runParser().
|
inlineinherited |
Definition at line 202 of file GenericSAXHandler.h.
References GenericSAXHandler::mySection, GenericSAXHandler::mySectionEnded, GenericSAXHandler::mySectionOpen, and GenericSAXHandler::mySectionSeen.
Referenced by SUMOSAXReader::parseSection().
|
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 99 of file GenericSAXHandler.cpp.
References GenericSAXHandler::convertTag(), FileHelpers::getConfigurationRelative(), GenericSAXHandler::getFileName(), SUMOSAXAttributesImpl_Xerces::getString(), FileHelpers::isAbsolute(), GenericSAXHandler::myCharactersVector, GenericSAXHandler::myExpectedRoot, GenericSAXHandler::myNextSectionStart, GenericSAXHandler::myPredefinedTags, GenericSAXHandler::myPredefinedTagsMML, GenericSAXHandler::myRootSeen, GenericSAXHandler::mySection, GenericSAXHandler::mySectionEnded, GenericSAXHandler::mySectionOpen, GenericSAXHandler::mySectionSeen, GenericSAXHandler::myStartElement(), XMLSubSys::runParser(), SUMO_ATTR_HREF, SUMO_TAG_INCLUDE, TL, StringUtils::transcode(), and WRITE_WARNINGF.
|
inherited |
Handler for XML-warnings.
The message is built using buildErrorMessage and reported to the warning-instance of the MsgHandler.
[in] | exception | The occurred exception to process |
Definition at line 218 of file GenericSAXHandler.cpp.
References GenericSAXHandler::buildErrorMessage(), and WRITE_WARNING.
|
private |
flag for set file type
Definition at line 123 of file GNEGeneralHandler.h.
Referenced by endTag(), isAdditionalFile(), isMeanDataFile(), and isRouteFile().
|
private |
additional handler
Definition at line 114 of file GNEGeneralHandler.h.
Referenced by beginTag(), endTag(), isErrorCreatingElement(), and postParserTasks().
|
privateinherited |
A list of character strings obtained so far to build the complete characters string at the end.
Definition at line 324 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::characters(), GenericSAXHandler::endElement(), and GenericSAXHandler::startElement().
|
privateinherited |
whether the reader should collect character data
Definition at line 339 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::characters(), and GenericSAXHandler::needsCharacterData().
|
private |
demand handler
Definition at line 117 of file GNEGeneralHandler.h.
Referenced by beginTag(), endTag(), isErrorCreatingElement(), and postParserTasks().
|
privateinherited |
The root element to expect, empty string disables the check.
Definition at line 336 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::startElement().
|
privateinherited |
The name of the currently parsed file.
Definition at line 333 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::getFileName(), and GenericSAXHandler::setFileName().
|
private |
meanData handler
Definition at line 120 of file GNEGeneralHandler.h.
Referenced by beginTag(), endTag(), isErrorCreatingElement(), and postParserTasks().
|
privateinherited |
Definition at line 356 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::retrieveNextSectionStart(), GenericSAXHandler::startElement(), and GenericSAXHandler::~GenericSAXHandler().
|
privateinherited |
The handler to give control back to.
Definition at line 327 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::callParentEnd(), GenericSAXHandler::endElement(), and GenericSAXHandler::registerParent().
|
privateinherited |
The tag indicating that control should be given back.
Definition at line 330 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), and GenericSAXHandler::registerParent().
|
privateinherited |
Definition at line 306 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::GenericSAXHandler(), GenericSAXHandler::startElement(), and GenericSAXHandler::~GenericSAXHandler().
|
privateinherited |
the map from ids to their string representation
Definition at line 309 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::GenericSAXHandler(), and GenericSAXHandler::startElement().
|
private |
queue with the inserted tags
Definition at line 111 of file GNEGeneralHandler.h.
Referenced by beginTag(), and endTag().
|
privateinherited |
whether the reader has already seen the root element
Definition at line 342 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::startElement().
|
privateinherited |
The tag indicating the current section to parse.
Definition at line 345 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), GenericSAXHandler::setSection(), and GenericSAXHandler::startElement().
|
privateinherited |
whether the reader has already seen the end of the section
Definition at line 351 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::sectionFinished(), GenericSAXHandler::setSection(), and GenericSAXHandler::startElement().
|
privateinherited |
whether an element of the current section is open
Definition at line 354 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::endElement(), GenericSAXHandler::setSection(), and GenericSAXHandler::startElement().
|
privateinherited |
whether the reader has already seen the begin of the section
Definition at line 348 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::setSection(), and GenericSAXHandler::startElement().
|
privateinherited |
Definition at line 320 of file GenericSAXHandler.h.
Referenced by GenericSAXHandler::convertTag(), and GenericSAXHandler::GenericSAXHandler().