SAGA Adaptor CPI v.1.0
|
00001 // Copyright (c) 2009 STFC 00002 // 00003 // Distributed under the Boost Software License, Version 1.0. (See accompanying 00004 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 00005 #include <memory> 00006 #include <iostream> 00007 #include <algorithm> 00008 #include <vector> 00009 #include <sstream> 00010 00011 #include <saga/saga/adaptors/task.hpp> 00012 #include <saga/saga/isn.hpp> 00013 #include <saga/impl/isn.hpp> 00014 #include <saga/saga/detail/call.hpp> 00015 #include <saga/saga/exception.hpp> 00016 00017 namespace saga { namespace isn { 00018 /* 00019 * entity_data_set 00020 */ 00021 entity_data_set::entity_data_set(const std::string& model, 00022 const std::string& entityType, 00023 const std::string& filter, 00024 session const& sess, 00025 const std::string& url) 00026 : object(new saga::impl::entity_data_set(model, 00027 entityType, 00028 filter, 00029 sess, 00030 url)) 00031 { 00032 } 00033 00034 entity_data_set::entity_data_set(const std::string& model, 00035 const std::string& entityType, 00036 const std::string& filter) 00037 : object(new saga::impl::entity_data_set(model, 00038 entityType, 00039 filter, 00040 saga::detail::get_the_session(), 00041 std::string())) 00042 { 00043 } 00044 00045 //Copy constructor 00046 entity_data_set::entity_data_set(saga::impl::entity_data_set* impl) 00047 : object(impl) 00048 { 00049 } 00050 00051 entity_data_set::entity_data_set(saga::object const& o) 00052 : saga::object(o) 00053 { 00054 if ( this->get_type() != saga::object::ServiceDescription ) 00055 { 00056 SAGA_THROW("Bad type conversion.", saga::BadParameter); 00057 } 00058 } 00059 00060 //Return a copy of the entities in this entity_data_set 00061 std::vector<saga::isn::entity_data> entity_data_set::get_data() const 00062 { 00063 return get_impl()->get_data(); 00064 } 00065 00066 saga::impl::entity_data_set* entity_data_set::get_impl() const 00067 { 00068 typedef saga::object base_type; 00069 return 00070 static_cast<saga::impl::entity_data_set*>(this->base_type::get_impl()); 00071 } 00072 00073 saga::isn::entity_data_set 00074 entity_data_set::get_related_entities(const std::string& relatedName, 00075 const std::string& filter) const 00076 { 00077 return get_impl()->get_related_entities(relatedName, 00078 filter); 00079 } 00080 00081 std::vector<std::string> 00082 entity_data_set::list_related_entity_names() const 00083 { 00084 return get_impl()->list_related_entity_names(); 00085 } 00086 00087 std::string entity_data_set::get_information_system_url() const 00088 { 00089 return get_impl()->get_information_system_url(); 00090 } 00091 00092 std::size_t entity_data_set::get_entity_count() const 00093 { 00094 return get_impl()->get_entity_count(); 00095 } 00096 00097 } //namespace isn 00098 } //namespace saga 00099