Update metawriter_factory.hpp
This commit is contained in:
parent
9a05dc1828
commit
daf30ca0d1
3 changed files with 16 additions and 14 deletions
|
@ -30,6 +30,7 @@
|
||||||
#include <boost/property_tree/ptree.hpp>
|
#include <boost/property_tree/ptree.hpp>
|
||||||
|
|
||||||
namespace mapnik {
|
namespace mapnik {
|
||||||
|
class xml_node;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a metawriter with the properties specified in the property
|
* Creates a metawriter with the properties specified in the property
|
||||||
|
@ -37,7 +38,7 @@ namespace mapnik {
|
||||||
* metawriters, but should provide an easy point to make them a
|
* metawriters, but should provide an easy point to make them a
|
||||||
* proper factory method if this is wanted in the future.
|
* proper factory method if this is wanted in the future.
|
||||||
*/
|
*/
|
||||||
metawriter_ptr metawriter_create(const boost::property_tree::ptree &pt);
|
metawriter_ptr metawriter_create(xml_node const& pt);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes properties into the given property tree representing the
|
* Writes properties into the given property tree representing the
|
||||||
|
|
|
@ -35,7 +35,6 @@
|
||||||
#include <mapnik/font_engine_freetype.hpp>
|
#include <mapnik/font_engine_freetype.hpp>
|
||||||
#include <mapnik/font_set.hpp>
|
#include <mapnik/font_set.hpp>
|
||||||
|
|
||||||
#include <mapnik/ptree_helpers.hpp>
|
|
||||||
#ifdef HAVE_LIBXML2
|
#ifdef HAVE_LIBXML2
|
||||||
#include <mapnik/libxml2_loader.hpp>
|
#include <mapnik/libxml2_loader.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
@ -501,7 +500,7 @@ void map_parser::parse_metawriter(Map & map, xml_node const& pt)
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
name = pt.get_attr<std::string>("name");
|
name = pt.get_attr<std::string>("name");
|
||||||
//TODO: writer = metawriter_create(pt);
|
writer = metawriter_create(pt);
|
||||||
map.insert_metawriter(name, writer);
|
map.insert_metawriter(name, writer);
|
||||||
} catch (const config_error & ex) {
|
} catch (const config_error & ex) {
|
||||||
ex.append_context(std::string("in meta writer '") + name + "'");
|
ex.append_context(std::string("in meta writer '") + name + "'");
|
||||||
|
@ -620,7 +619,7 @@ void map_parser::parse_layer(Map & map, xml_node const& lay)
|
||||||
|
|
||||||
if (child->is("StyleName"))
|
if (child->is("StyleName"))
|
||||||
{
|
{
|
||||||
std::string style_name = child->get_value<std::string>(); //TODO: get_text
|
std::string style_name = child->get_text();
|
||||||
if (style_name.empty())
|
if (style_name.empty())
|
||||||
{
|
{
|
||||||
std::ostringstream ss;
|
std::ostringstream ss;
|
||||||
|
|
|
@ -22,14 +22,13 @@
|
||||||
//$Id$
|
//$Id$
|
||||||
|
|
||||||
#include <mapnik/metawriter_factory.hpp>
|
#include <mapnik/metawriter_factory.hpp>
|
||||||
#include <mapnik/ptree_helpers.hpp>
|
|
||||||
|
|
||||||
#include <mapnik/metawriter_json.hpp>
|
#include <mapnik/metawriter_json.hpp>
|
||||||
#include <mapnik/metawriter_inmem.hpp>
|
#include <mapnik/metawriter_inmem.hpp>
|
||||||
|
#include <mapnik/xml_tree.hpp>
|
||||||
|
#include <mapnik/ptree_helpers.hpp>
|
||||||
|
|
||||||
#include <boost/optional.hpp>
|
#include <boost/optional.hpp>
|
||||||
|
|
||||||
using boost::property_tree::ptree;
|
|
||||||
using boost::optional;
|
using boost::optional;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
|
@ -37,20 +36,21 @@ namespace mapnik
|
||||||
{
|
{
|
||||||
|
|
||||||
metawriter_ptr
|
metawriter_ptr
|
||||||
metawriter_create(const boost::property_tree::ptree &pt) {
|
metawriter_create(xml_node const& pt)
|
||||||
|
{
|
||||||
metawriter_ptr writer;
|
metawriter_ptr writer;
|
||||||
string type = get_attr<string>(pt, "type");
|
string type = pt.get_attr<string>("type");
|
||||||
|
|
||||||
optional<string> properties = get_opt_attr<string>(pt, "default-output");
|
optional<string> properties = pt.get_opt_attr<string>("default-output");
|
||||||
if (type == "json") {
|
if (type == "json") {
|
||||||
string file = get_attr<string>(pt, "file");
|
string file = pt.get_attr<string>("file");
|
||||||
metawriter_json_ptr json = metawriter_json_ptr(new metawriter_json(properties, parse_path(file)));
|
metawriter_json_ptr json = metawriter_json_ptr(new metawriter_json(properties, parse_path(file)));
|
||||||
optional<boolean> output_empty = get_opt_attr<boolean>(pt, "output-empty");
|
optional<boolean> output_empty = pt.get_opt_attr<boolean>("output-empty");
|
||||||
if (output_empty) {
|
if (output_empty) {
|
||||||
json->set_output_empty(*output_empty);
|
json->set_output_empty(*output_empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
optional<boolean> pixel_coordinates = get_opt_attr<boolean>(pt, "pixel-coordinates");
|
optional<boolean> pixel_coordinates = pt.get_opt_attr<boolean>("pixel-coordinates");
|
||||||
if (pixel_coordinates) {
|
if (pixel_coordinates) {
|
||||||
json->set_pixel_coordinates(*pixel_coordinates);
|
json->set_pixel_coordinates(*pixel_coordinates);
|
||||||
}
|
}
|
||||||
|
@ -67,7 +67,9 @@ metawriter_create(const boost::property_tree::ptree &pt) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
metawriter_save(const metawriter_ptr &metawriter, ptree &metawriter_node, bool explicit_defaults) {
|
metawriter_save(const metawriter_ptr &metawriter,
|
||||||
|
boost::property_tree::ptree &metawriter_node, bool explicit_defaults)
|
||||||
|
{
|
||||||
|
|
||||||
metawriter_json *json = dynamic_cast<metawriter_json *>(metawriter.get());
|
metawriter_json *json = dynamic_cast<metawriter_json *>(metawriter.get());
|
||||||
if (json) {
|
if (json) {
|
||||||
|
|
Loading…
Reference in a new issue