src/XMLDocumentConstructor.h
branchv_0
changeset 29 06aaad12c207
parent 28 0e7c57d48d1e
child 30 f686bdaeb9e0
--- a/src/XMLDocumentConstructor.h	Sat Nov 28 18:14:15 2020 +0100
+++ b/src/XMLDocumentConstructor.h	Sat Nov 28 21:09:18 2020 +0100
@@ -19,10 +19,12 @@
 #include <stdexcept>
 #include <libxml++-2.6/libxml++/libxml++.h>
 
+#include "lib/uri.h"
 #include "lib/INIReader.h"
 #include "lib/BasicUnescapingProcessor.h"
 #include "lib/BackspaceUnescapingProcessor.h"
 #include "lib/JavaPropertiesUnescapingProcessor.h"
+#include "lib/JavaPropertiesDialect.h"
 #include "lib/XMLNameCodec.h"
 
 using namespace relpipe::in::ini::lib;
@@ -112,10 +114,10 @@
 	void process() {
 		HierarchicalINIContentHandler handler(parser);
 		std::shared_ptr<INIReader> reader(INIReader::create(*input));
-		reader->addUnescapingProcessor(std::make_shared<BasicUnescapingProcessor>(), "unescape-basic", true);
-		reader->addUnescapingProcessor(std::make_shared<JavaPropertiesUnescapingProcessor>(), "unescape-java-properties", false);
-		reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(false), "unescape-backspace-disorder", false);
-		reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(), "unescape-backspace", true);
+		reader->addUnescapingProcessor(std::make_shared<BasicUnescapingProcessor>(), unescaping::Basic, true);
+		reader->addUnescapingProcessor(std::make_shared<JavaPropertiesUnescapingProcessor>(), unescaping::JavaProperties, false);
+		reader->addUnescapingProcessor(std::make_shared<BackspaceUnescapingProcessor>(), unescaping::Backspace, true);
+		reader->addDialect(std::make_shared<JavaPropertiesDialect>(), dialect::JavaProperties, false);
 		reader->addHandler(&handler);
 		// TODO: smart pointers vs. references: are we going to call addUnescapingProcessor() dynamically/conditionally or share instances? Then pointers will be better.
 		// TODO: call setOption() according to the configuration