avoid silencing invalid transform throw and use LOG_ERROR for invalid maximum-extent - closes #1363
This commit is contained in:
parent
339fd59293
commit
9f450bd986
1 changed files with 24 additions and 71 deletions
|
@ -224,14 +224,14 @@ void map_parser::parse_map(Map & map, xml_node const& pt, std::string const& bas
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::ostringstream s_err;
|
std::ostringstream s_err;
|
||||||
s_err << "failed to parse 'maximum-extent'";
|
s_err << "failed to parse Map maximum-extent '" << *maximum_extent << "'";
|
||||||
if (strict_)
|
if (strict_)
|
||||||
{
|
{
|
||||||
throw config_error(s_err.str());
|
throw config_error(s_err.str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MAPNIK_LOG_WARN(load_map) << "map_parser: " << s_err.str();
|
MAPNIK_LOG_ERROR(load_map) << "map_parser: " << s_err.str();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -648,16 +648,16 @@ void map_parser::parse_layer(Map & map, xml_node const& node)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
std::ostringstream s_err;
|
std::ostringstream s_err;
|
||||||
s_err << "failed to parse 'maximum-extent' in layer " << name;
|
s_err << "failed to parse Layer maximum-extent '" << *maximum_extent << "' for '" << name << "'";
|
||||||
if (strict_)
|
if (strict_)
|
||||||
{
|
{
|
||||||
throw config_error(s_err.str());
|
throw config_error(s_err.str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MAPNIK_LOG_WARN(load_map) << "map_parser: " << s_err.str();
|
MAPNIK_LOG_ERROR(load_map) << "map_parser: " << s_err.str();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -872,11 +872,9 @@ void map_parser::parse_symbolizer_base(symbolizer_base &sym, xml_node const &pt)
|
||||||
if (!mapnik::parse_transform(*tl, *geometry_transform_wkt, pt.get_tree().transform_expr_grammar))
|
if (!mapnik::parse_transform(*tl, *geometry_transform_wkt, pt.get_tree().transform_expr_grammar))
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
std::stringstream ss;
|
||||||
ss << "Could not parse transform from '" << geometry_transform_wkt << "', expected transform attribute";
|
ss << "Could not parse transform from '" << *geometry_transform_wkt
|
||||||
if (strict_)
|
<< "', expected transform attribute";
|
||||||
throw config_error(ss.str()); // value_error here?
|
throw config_error(ss.str());
|
||||||
else
|
|
||||||
MAPNIK_LOG_WARN(load_map) << "### WARNING: " << ss;
|
|
||||||
}
|
}
|
||||||
sym.set_transform(tl);
|
sym.set_transform(tl);
|
||||||
}
|
}
|
||||||
|
@ -948,17 +946,7 @@ void map_parser::parse_point_symbolizer(rule & rule, xml_node const & sym)
|
||||||
mapnik::transform_list_ptr tl = boost::make_shared<mapnik::transform_list>();
|
mapnik::transform_list_ptr tl = boost::make_shared<mapnik::transform_list>();
|
||||||
if (!mapnik::parse_transform(*tl, *image_transform_wkt, sym.get_tree().transform_expr_grammar))
|
if (!mapnik::parse_transform(*tl, *image_transform_wkt, sym.get_tree().transform_expr_grammar))
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
throw mapnik::config_error("Failed to parse transform: '" + *image_transform_wkt + "'");
|
||||||
ss << "Could not parse transform from '" << *image_transform_wkt
|
|
||||||
<< "', expected transform attribute";
|
|
||||||
if (strict_)
|
|
||||||
{
|
|
||||||
throw config_error(ss.str()); // value_error here?
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MAPNIK_LOG_WARN(load_map) << "map_parser: " << ss;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
symbol.set_image_transform(tl);
|
symbol.set_image_transform(tl);
|
||||||
}
|
}
|
||||||
|
@ -984,31 +972,16 @@ void map_parser::parse_markers_symbolizer(rule & rule, xml_node const& node)
|
||||||
|
|
||||||
if (file && !file->empty())
|
if (file && !file->empty())
|
||||||
{
|
{
|
||||||
try
|
if (base)
|
||||||
{
|
{
|
||||||
if (base)
|
std::map<std::string,std::string>::const_iterator itr = file_sources_.find(*base);
|
||||||
|
if (itr!=file_sources_.end())
|
||||||
{
|
{
|
||||||
std::map<std::string,std::string>::const_iterator itr = file_sources_.find(*base);
|
*file = itr->second + "/" + *file;
|
||||||
if (itr!=file_sources_.end())
|
|
||||||
{
|
|
||||||
*file = itr->second + "/" + *file;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
filename = ensure_relative_to_xml(file);
|
filename = ensure_relative_to_xml(file);
|
||||||
}
|
|
||||||
catch (...)
|
|
||||||
{
|
|
||||||
std::string msg("Failed to load marker file '" + *file + "'!");
|
|
||||||
if (strict_)
|
|
||||||
{
|
|
||||||
throw config_error(msg);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MAPNIK_LOG_WARN(load_map) << "map_parser: " << msg;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
optional<std::string> marker_type = node.get_opt_attr<std::string>("marker-type");
|
optional<std::string> marker_type = node.get_opt_attr<std::string>("marker-type");
|
||||||
|
@ -1055,17 +1028,7 @@ void map_parser::parse_markers_symbolizer(rule & rule, xml_node const& node)
|
||||||
mapnik::transform_list_ptr tl = boost::make_shared<mapnik::transform_list>();
|
mapnik::transform_list_ptr tl = boost::make_shared<mapnik::transform_list>();
|
||||||
if (!mapnik::parse_transform(*tl, *image_transform_wkt, node.get_tree().transform_expr_grammar))
|
if (!mapnik::parse_transform(*tl, *image_transform_wkt, node.get_tree().transform_expr_grammar))
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
throw mapnik::config_error("Failed to parse transform: '" + *image_transform_wkt + "'");
|
||||||
ss << "Could not parse transform from '" << *image_transform_wkt
|
|
||||||
<< "', expected transform attribute";
|
|
||||||
if (strict_)
|
|
||||||
{
|
|
||||||
throw config_error(ss.str()); // value_error here?
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MAPNIK_LOG_WARN(load_map) << "map_parser: " << ss;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
sym.set_image_transform(tl);
|
sym.set_image_transform(tl);
|
||||||
}
|
}
|
||||||
|
@ -1257,17 +1220,7 @@ void map_parser::parse_shield_symbolizer(rule & rule, xml_node const& sym)
|
||||||
mapnik::transform_list_ptr tl = boost::make_shared<mapnik::transform_list>();
|
mapnik::transform_list_ptr tl = boost::make_shared<mapnik::transform_list>();
|
||||||
if (!mapnik::parse_transform(*tl, *image_transform_wkt, sym.get_tree().transform_expr_grammar))
|
if (!mapnik::parse_transform(*tl, *image_transform_wkt, sym.get_tree().transform_expr_grammar))
|
||||||
{
|
{
|
||||||
std::stringstream ss;
|
throw mapnik::config_error("Failed to parse transform: '" + *image_transform_wkt + "'");
|
||||||
ss << "Could not parse transform from '" << *image_transform_wkt
|
|
||||||
<< "', expected transform attribute";
|
|
||||||
if (strict_)
|
|
||||||
{
|
|
||||||
throw config_error(ss.str()); // value_error here?
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
MAPNIK_LOG_WARN(load_map) << "map_parser: " << ss;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
shield_symbol.set_image_transform(tl);
|
shield_symbol.set_image_transform(tl);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue