diff --git a/libcorpus2_whole/io/documentreader.cpp b/libcorpus2_whole/io/documentreader.cpp index df651de2baa217feee7cac4b152e5fa88eee2eef..e335a8df980197c7d838ee366baad87a9970d3f5 100644 --- a/libcorpus2_whole/io/documentreader.cpp +++ b/libcorpus2_whole/io/documentreader.cpp @@ -17,8 +17,9 @@ or FITNESS FOR A PARTICULAR PURPOSE. #include <libcorpus2_whole/io/documentreader.h> #include <libcorpus2_whole/io/cclrelreader.h> +#ifdef WITH_POLIQARP #include <libcorpus2_whole/io/poliqarpdocumentreader.h> - +#endif namespace Corpus2 { @@ -27,33 +28,34 @@ namespace whole{ DocumentReader::DocumentReader(const Tagset& tagset, const std::string& corpus_type, const std::string& corpus_file_path) : corpus_type_(corpus_type), tagset_(tagset), corpus_path_(corpus_file_path) { - if (corpus_type_ == "poliqarp") { - reader = boost::shared_ptr<PoliqarpDocumentReader>( - new PoliqarpDocumentReader(tagset_, corpus_path_)); - } - else if (corpus_type_ == "document") { + if (corpus_type_ == "document") { corpus_file.open(corpus_file_path.c_str()); - } - else { +#ifdef WITH_POLIQARP + } else if (corpus_type_ == "poliqarp") { + reader = boost::shared_ptr<PoliqarpDocumentReader>( + new PoliqarpDocumentReader(tagset_, corpus_path_)); +#endif + } else { throw Corpus2Error(corpus_type_ + " is an unknown reader type!"); } } boost::shared_ptr<Document> DocumentReader::read() { - std::string line; +#ifdef WITH_POLIQARP if (corpus_type_ == "poliqarp") { return this->reader->read(); } +#endif if (corpus_type_ == "document") { if (std::getline(corpus_file, line)) { return get_cclrel_reader(line)->read(); - } - else { + } else { return boost::make_shared<Document>("End"); } } + throw Corpus2Error(corpus_type_ + " is an unknown reader type!"); } @@ -77,9 +79,6 @@ boost::shared_ptr<DocumentReaderI> DocumentReader::get_cclrel_reader(std::string return boost::shared_ptr<CclRelReader>( new CclRelReader(tagset_, ann_path, rel_path)); - - - }