Skip to content

Commit

Permalink
Implements #692
Browse files Browse the repository at this point in the history
  • Loading branch information
Dennis Luxen committed Aug 9, 2013
1 parent e86e8c3 commit 0765ebf
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 4 deletions.
19 changes: 16 additions & 3 deletions DataStructures/NodeInformationHelpDesk.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ or see http://www.gnu.org/licenses/agpl.txt.

typedef EdgeBasedGraphFactory::EdgeBasedNode RTreeLeaf;

class NodeInformationHelpDesk : boost::noncopyable{
class NodeInformationHelpDesk : boost::noncopyable {
public:
NodeInformationHelpDesk(
const std::string & ramIndexInput,
Expand All @@ -47,8 +47,21 @@ class NodeInformationHelpDesk : boost::noncopyable{
const std::string & edges_filename,
const unsigned number_of_nodes,
const unsigned check_sum
) : number_of_nodes(number_of_nodes), check_sum(check_sum)
) : number_of_nodes(number_of_nodes), check_sum(check_sum)
{
if ( "" == ramIndexInput ) {

This comment has been minimized.

Copy link
@springmeyer

springmeyer Aug 9, 2013

Contributor

what about ramIndexInput.empty() instead?

This comment has been minimized.

Copy link
@DennisOSRM

DennisOSRM Aug 9, 2013

Collaborator

Implemented in c3e6dc6

throw OSRMException("no ram index file name in server ini");
}
if ( "" == fileIndexInput ) {
throw OSRMException("no mem index file name in server ini");
}
if ( "" == nodes_filename ) {
throw OSRMException("no nodes file name in server ini");
}
if ( "" == edges_filename ) {
throw OSRMException("no edges file name in server ini");
}

read_only_rtree = new StaticRTree<RTreeLeaf>(
ramIndexInput,
fileIndexInput
Expand Down Expand Up @@ -136,7 +149,7 @@ class NodeInformationHelpDesk : boost::noncopyable{
throw OSRMException("edges file not found");
}

SimpleLogger().Write(logDEBUG) << "Loading node data";
SimpleLogger().Write(logDEBUG) << "Loading node data" << nodes_file.length() << " ->" << nodes_file << "<-";
NodeInfo b;
while(!nodes_input_stream.eof()) {
nodes_input_stream.read((char *)&b, sizeof(NodeInfo));
Expand Down
16 changes: 16 additions & 0 deletions Library/OSRM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,22 @@ OSRM::OSRM(const char * server_ini_path) {
boost::filesystem::path base_path =
boost::filesystem::absolute(server_ini_path).parent_path();

if ( !serverConfig.Holds("hsgrData")) {
throw OSRMException("no ram index file name in server ini");
}
if ( !serverConfig.Holds("ramIndex") ) {
throw OSRMException("no mem index file name in server ini");
}
if ( !serverConfig.Holds("fileIndex") ) {
throw OSRMException("no nodes file name in server ini");
}
if ( !serverConfig.Holds("nodesData") ) {
throw OSRMException("no nodes file name in server ini");
}
if ( !serverConfig.Holds("edgesData") ) {
throw OSRMException("no edges file name in server ini");
}

boost::filesystem::path hsgr_path = boost::filesystem::absolute(
serverConfig.GetParameter("hsgrData"),
base_path
Expand Down
19 changes: 19 additions & 0 deletions Server/DataStructures/QueryObjectsStorage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,25 @@ QueryObjectsStorage::QueryObjectsStorage(
const std::string & namesPath,
const std::string & timestampPath
) {
if("" == hsgrPath) {
throw OSRMException("no hsgr file given in ini file");
}
if("" == ramIndexPath) {
throw OSRMException("no ram index file given in ini file");
}
if("" == fileIndexPath) {
throw OSRMException("no mem index file given in ini file");
}
if("" == nodesPath) {
throw OSRMException("no nodes file given in ini file");
}
if("" == edgesPath) {
throw OSRMException("no edges file given in ini file");
}
if("" == namesPath) {
throw OSRMException("no names file given in ini file");
}

SimpleLogger().Write() << "loading graph data";
std::ifstream hsgrInStream(hsgrPath.c_str(), std::ios::binary);
if(!hsgrInStream) {
Expand Down
6 changes: 5 additions & 1 deletion Util/IniFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,11 @@ class IniFile {
}

std::string GetParameter(const std::string & key){
return parameters.Find(key);
return parameters.Find(key);
}

bool Holds(const std::string & key) const {
return parameters.Holds(key);
}

void SetParameter(const char* key, const char* value) {
Expand Down

0 comments on commit 0765ebf

Please sign in to comment.