diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-06-30 19:20:16 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-08-06 20:34:25 +0200 |
commit | 8e866579cb459c5104c532d5e41d562d45236ea5 (patch) | |
tree | f72548e3499bfdc50bc1183ec014d14e6b53918c /brep/view.cxx | |
parent | c188831c50456754de79aadc26df74149cb00422 (diff) |
Implement loader
Diffstat (limited to 'brep/view.cxx')
-rw-r--r-- | brep/view.cxx | 92 |
1 files changed, 47 insertions, 45 deletions
diff --git a/brep/view.cxx b/brep/view.cxx index 222558a..08e2592 100644 --- a/brep/view.cxx +++ b/brep/view.cxx @@ -16,7 +16,7 @@ #include <web/module> #include <brep/package> -#include <brep/package-odb.hxx> +#include <brep/package-odb> using namespace std; using namespace odb::core; @@ -31,11 +31,11 @@ namespace brep cli::unknown_mode::fail, cli::unknown_mode::fail); - db_ = make_shared<odb::pgsql::database>("", - "", - "brep", - options_->db_host (), - options_->db_port ()); + db_ = make_shared<odb::pgsql::database> ("", + "", + "brep", + options_->db_host (), + options_->db_port ()); } void view:: @@ -46,9 +46,11 @@ namespace brep shared_ptr<package> p (db_->load<package> ("cli")); - for (auto& vp : p->versions) + for (auto& vp: p->versions) { - s.cache_insert<package_version> (*db_, vp.object_id (), vp.load ()); + shared_ptr<package_version> v (vp.load ()); + v->repository.load (); + v->package.load (); } t.commit (); @@ -71,61 +73,61 @@ namespace brep o << "<p>\n" << p->name << ": " << p->versions.size (); - for (const auto& vp : p->versions) + for (const auto& vp: p->versions) { - shared_ptr<package_version> v ( - s.cache_find<package_version> (*db_, vp.object_id ())); + // Just finds package_version object in session cache. + // + shared_ptr<package_version> v (vp.load ()); - if (!v) - { - o << "<br>no version in cache !"; - } - else + assert (v != nullptr); + assert (v->repository.get_eager () != nullptr); + assert (v->package.get_eager () != nullptr); + + o << "<br>version:" << v->version.string () + << "<br>package:" << v->package->name + << "<br>repo:" << v->repository->display_name + << "<br>changes:" << v->changes + << "<br>licenses:" << v->license_alternatives.size (); + + for (const auto& la: v->license_alternatives) { - o << "<br>version:" << v->version.string() - << "<br>licenses:" << v->license_alternatives.size (); + o << "<br>"; - for (const auto& la : v->license_alternatives) + for (const auto& l: la) { - o << "<br>"; - - for (const auto& l : la) - { - o << " |" << l << "|"; - } + o << " |" << l << "|"; } + } + + o << "<br>deps:" << v->dependencies.size (); - o << "<br>deps:" << v->dependencies.size (); + for (const auto& da: v->dependencies) + { + o << "<br>"; - for (const auto& da : v->dependencies) + for (const auto& d: da) { - o << "<br>"; + o << " |" << d.package; - for (const auto& d : da) + if (d.version) { - o << " |" << d.package; - - if (d.version) - { - o << "," << d.version->value.string () << "," - << static_cast<int> (d.version->operation) << "|"; - } + o << "," << d.version->value.string () << "," + << static_cast<int> (d.version->operation) << "|"; } } + } - o << "<br>requirements:" << v->requirements.size (); + o << "<br>requirements:" << v->requirements.size (); - for (const auto& ra : v->requirements) - { - o << "<br>"; + for (const auto& ra: v->requirements) + { + o << "<br>"; - for (const auto& r : ra) - { - o << " |" << r << "|"; - } + for (const auto& r: ra) + { + o << " |" << r << "|"; } } - } o << "<p><a href='search?a=1&b&c=2&d=&&x=a+b'>Search</a>" |