Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ ecbuild_add_option( FEATURE EXPERIMENTAL
ecbuild_add_option( FEATURE GRIB
DEFAULT ON
DESCRIPTION "Add support for GRIB format"
REQUIRED_PACKAGES "NAME eccodes VERSION 2.27" )
REQUIRED_PACKAGES "NAME eccodes VERSION 2.46" )

# BUFR support

ecbuild_add_option( FEATURE BUFR
DEFAULT ON
DESCRIPTION "Add support for BUFR format"
REQUIRED_PACKAGES "NAME eccodes VERSION 2.27" )
REQUIRED_PACKAGES "NAME eccodes VERSION 2.46" )

# netcdf support

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.17.3
1.18.0
2 changes: 0 additions & 2 deletions src/metkit/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@ list( APPEND metkit_srcs
mars/DHSProtocol.h
mars/Matcher.cc
mars/Matcher.h
mars/MarsExpandContext.h
mars/MarsExpansion.cc
mars/MarsExpansion.h
mars/MarsExpension.h
mars/MarsHandle.cc
mars/MarsHandle.h
mars/MarsLanguage.cc
Expand Down
6 changes: 0 additions & 6 deletions src/metkit/mars/MarsExpandContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,4 @@ class MarsExpandContext {

//----------------------------------------------------------------------------------------------------------------------

class [[deprecated]] DummyContext : public MarsExpandContext {
using MarsExpandContext::MarsExpandContext;
};

//----------------------------------------------------------------------------------------------------------------------

} // namespace metkit::mars
22 changes: 2 additions & 20 deletions src/metkit/mars/MarsExpansion.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,6 @@ namespace metkit::mars {

//----------------------------------------------------------------------------------------------------------------------

FlattenCallback::~FlattenCallback() = default;

ExpandCallback::~ExpandCallback() = default;

//----------------------------------------------------------------------------------------------------------------------

MarsExpansion::MarsExpansion(bool inherit, bool strict) : inherit_(inherit), strict_(strict) {}

MarsExpansion::~MarsExpansion() {
Expand All @@ -37,7 +31,6 @@ void MarsExpansion::reset() {
}
}


MarsLanguage& MarsExpansion::language(const std::string& verb) {
auto v = MarsLanguage::expandVerb(verb);

Expand All @@ -64,28 +57,17 @@ std::vector<MarsRequest> MarsExpansion::expand(const std::vector<MarsParsedReque
}

MarsRequest MarsExpansion::expand(const MarsRequest& request) {
auto& lang = language(request.verb());
return lang.expand(request, inherit_, strict_);
return language(request.verb()).expand(request, inherit_, strict_);
}


void MarsExpansion::expand(const MarsRequest& request, ExpandCallback& callback) {
MarsRequest r = language(request.verb()).expand(request, inherit_, strict_);
callback(r);
callback(expand(request));
}


void MarsExpansion::flatten(const MarsRequest& request, FlattenCallback& callback) {
language(request.verb()).flatten(request, callback);
}

void MarsExpansion::expand(const MarsExpandContext&, const MarsRequest& request, ExpandCallback& callback) {
expand(request, callback);
}
void MarsExpansion::flatten(const MarsExpandContext&, const MarsRequest& request, FlattenCallback& callback) {
flatten(request, callback);
}

//----------------------------------------------------------------------------------------------------------------------

} // namespace metkit::mars
17 changes: 9 additions & 8 deletions src/metkit/mars/MarsExpansion.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@
#include <string>
#include <vector>

#include "metkit/mars/MarsExpandContext.h"
#include "metkit/mars/MarsParsedRequest.h"
#include "metkit/mars/MarsRequest.h"


namespace metkit::mars {

class MarsLanguage;
Expand All @@ -37,16 +35,21 @@ class MarsLanguage;
class FlattenCallback {
public:

virtual ~FlattenCallback();
virtual void operator()(const MarsRequest&) = 0;

protected:

virtual ~FlattenCallback() = default;
};

class ExpandCallback {
public:

virtual ~ExpandCallback();
virtual void operator()(const MarsRequest& request) { this->operator()(DummyContext{}, request); }
virtual void operator()(const MarsExpandContext&, const MarsRequest&) = 0;
virtual void operator()(const MarsRequest&) = 0;

protected:

virtual ~ExpandCallback() = default;
};

//----------------------------------------------------------------------------------------------------------------------
Expand All @@ -63,9 +66,7 @@ class MarsExpansion : public eckit::NonCopyable {
std::vector<MarsRequest> expand(const std::vector<MarsParsedRequest>&);

void expand(const MarsRequest&, ExpandCallback&);
void expand(const MarsExpandContext&, const MarsRequest&, ExpandCallback&);
void flatten(const MarsRequest&, FlattenCallback&);
void flatten(const MarsExpandContext&, const MarsRequest&, FlattenCallback&);

private:

Expand Down
28 changes: 0 additions & 28 deletions src/metkit/mars/MarsExpension.h

This file was deleted.

8 changes: 4 additions & 4 deletions src/metkit/mars/MarsLanguage.cc
Original file line number Diff line number Diff line change
Expand Up @@ -100,12 +100,12 @@ void MarsLanguage::parseModifier(ModifierType typ, std::shared_ptr<Context> ctx,
}
}

MarsLanguage::MarsLanguage(const std::string& verb) : verb_(verb) {
MarsLanguage::MarsLanguage(const std::string& verb) {
pthread_once(&once, init);

eckit::Value lang = languages_[verb];
eckit::Value params = lang.keys();

verb_ = MarsLanguage::expandVerb(verb);
eckit::Value lang = languages_[verb_];
eckit::Value params = lang.keys();
eckit::Value options = lang["_options"];

for (size_t i = 0; i < params.size(); ++i) {
Expand Down
4 changes: 1 addition & 3 deletions src/metkit/mars/MarsParser.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@

#include "metkit/mars/MarsParser.h"

#include "metkit/mars/MarsExpandContext.h"

namespace metkit::mars {

//----------------------------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -200,7 +198,7 @@ void MarsParser::parse(MarsParserCallback& cb) {

while (peek() != 0) {
auto r = parseRequest();
cb(DummyContext{}, r);
cb(r);
}
}

Expand Down
7 changes: 1 addition & 6 deletions src/metkit/mars/MarsParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,27 +19,22 @@

namespace metkit::mars {

class MarsExpandContext;
class MarsRequest;


//----------------------------------------------------------------------------------------------------------------------


class MarsParserCallback {
public:

virtual void operator()(const MarsExpandContext&, const MarsRequest&) = 0;
virtual void operator()(const MarsRequest&) = 0;

protected:

virtual ~MarsParserCallback() = default;
};


//----------------------------------------------------------------------------------------------------------------------


class MarsParser : public eckit::StreamParser {

public: // methods
Expand Down
4 changes: 3 additions & 1 deletion src/metkit/mars/MarsRequest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ namespace mars {

MarsRequest::MarsRequest() {}

MarsRequest::MarsRequest(const std::string& s) : verb_(s) {}
MarsRequest::MarsRequest(const std::string& s) : verb_(s) {
ASSERT(s.find(',') == std::string::npos);
}

MarsRequest::MarsRequest(const std::string& s, const std::map<std::string, std::string>& values) : verb_(s) {
for (auto j = values.begin(); j != values.end(); ++j) {
Expand Down
3 changes: 0 additions & 3 deletions src/metkit/mars/Type.cc
Original file line number Diff line number Diff line change
Expand Up @@ -269,9 +269,6 @@ bool Type::expand(std::string& value, const MarsRequest&) const {
oss << *this << ": expand not implemented (" << value << ")";
throw eckit::SeriousBug(oss.str());
}
bool Type::expand(const MarsExpandContext&, std::string& value, const MarsRequest& request) const {
return expand(value, request);
}

void Type::expand(std::vector<std::string>& values, const MarsRequest& request) const {

Expand Down
3 changes: 0 additions & 3 deletions src/metkit/mars/Type.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@

namespace metkit::mars {

class MarsExpandContext;

//----------------------------------------------------------------------------------------------------------------------

/// @brief abstract class - ContextRule subclasses are used to define a context. A MarsRequest matches a context, if it
Expand Down Expand Up @@ -192,7 +190,6 @@ class Type : public eckit::Counted {
~Type() noexcept override = default;

virtual bool expand(std::string& value, const MarsRequest& request = {}) const;
[[deprecated]] bool expand(const MarsExpandContext& ctx, std::string& value, const MarsRequest& request = {}) const;
void expand(std::vector<std::string>& values, const MarsRequest& request = {}) const;

std::string tidy(const std::string& value, const MarsRequest& request = {}) const;
Expand Down
11 changes: 0 additions & 11 deletions src/tools/parse-mars-request.cc
Original file line number Diff line number Diff line change
Expand Up @@ -157,17 +157,6 @@ void ParseRequest::process(const eckit::PathName& path) {
}
}
}

class Print : public FlattenCallback {
virtual void operator()(const MarsRequest& request) { std::cout << request << std::endl; }
};


Print cb;

// for (std::vector<MarsRequest>::const_iterator j = v.begin(); j != v.end(); ++j) {
// expand.flatten(*j, cb, filter);
// }
}

//----------------------------------------------------------------------------------------------------------------------
Expand Down
Loading