diff --git a/cmake/swigEtp1_2Include.i.in b/cmake/swigEtp1_2Include.i.in index e4a8cac..e63e990 100644 --- a/cmake/swigEtp1_2Include.i.in +++ b/cmake/swigEtp1_2Include.i.in @@ -2162,12 +2162,31 @@ namespace ETP_NS */ Energistics::Etp::v12::Datatypes::Object::Resource buildEtpResourceFromEnergisticsObject(COMMON_NS::AbstractObject const* obj, bool countRels = true); + /** + * Build and return an ETP resource from an Energistics object defined by an UUID in a DataObjectRepository. + * @param repo The repository where the required UUID is defined + * @param uuid The UUID describing the Energistics object + * @param countRels Indicate if the returned resource contain the count of source or target relationships. + * @return The ETP resource built from the Energistics object + */ + Energistics::Etp::v12::Datatypes::Object::Resource buildEtpResourceFromEnergisticsObject( + COMMON_NS::DataObjectRepository const* repo, const std::string& uuid, bool countRels = true); + /** * Build and return an ETP data object from an Energistics object. * @param obj The input Energistics obj * @return The ETP data object built from the Energistics object */ Energistics::Etp::v12::Datatypes::Object::DataObject buildEtpDataObjectFromEnergisticsObject(COMMON_NS::AbstractObject * obj, bool includeSerialization = true); + + /** + * Build and return an ETP data object from an Energistics object defined by an UUID in a DataObjectRepository. + * @param repo The repository where the required UUID is defined + * @param uuid The UUID describing the Energistics object + * @return The ETP data object built from the Energistics object + */ + Energistics::Etp::v12::Datatypes::Object::DataObject buildEtpDataObjectFromEnergisticsObject( + COMMON_NS::DataObjectRepository const* repo, const std::string& uuid, bool includeSerialization = true); } #endif } diff --git a/src/etp/fesapi/FesapiHelpers.cpp b/src/etp/fesapi/FesapiHelpers.cpp index ddd761e..22bee89 100644 --- a/src/etp/fesapi/FesapiHelpers.cpp +++ b/src/etp/fesapi/FesapiHelpers.cpp @@ -48,6 +48,11 @@ Energistics::Etp::v12::Datatypes::Object::Resource ETP_NS::FesapiHelpers::buildE return result; } +Energistics::Etp::v12::Datatypes::Object::Resource ETP_NS::FesapiHelpers::buildEtpResourceFromEnergisticsObject( + COMMON_NS::DataObjectRepository const* repo, const std::string& uuid, bool countRels) { + return buildEtpResourceFromEnergisticsObject(repo->getDataObjectByUuid(uuid), countRels); +} + Energistics::Etp::v12::Datatypes::Object::DataObject ETP_NS::FesapiHelpers::buildEtpDataObjectFromEnergisticsObject(COMMON_NS::AbstractObject * obj, bool includeSerialization) { Energistics::Etp::v12::Datatypes::Object::DataObject result; @@ -68,3 +73,8 @@ Energistics::Etp::v12::Datatypes::Object::DataObject ETP_NS::FesapiHelpers::buil return result; } + +Energistics::Etp::v12::Datatypes::Object::DataObject ETP_NS::FesapiHelpers::buildEtpDataObjectFromEnergisticsObject( + COMMON_NS::DataObjectRepository const* repo, const std::string& uuid, bool includeSerialization) { + return buildEtpDataObjectFromEnergisticsObject(repo->getDataObjectByUuid(uuid), includeSerialization); +} diff --git a/src/etp/fesapi/FesapiHelpers.h b/src/etp/fesapi/FesapiHelpers.h index b88a274..b4170d7 100644 --- a/src/etp/fesapi/FesapiHelpers.h +++ b/src/etp/fesapi/FesapiHelpers.h @@ -46,11 +46,30 @@ namespace ETP_NS */ FETPAPI_DLL_IMPORT_OR_EXPORT Energistics::Etp::v12::Datatypes::Object::Resource buildEtpResourceFromEnergisticsObject(COMMON_NS::AbstractObject const* obj, bool countRels = true); + /** + * Build and return an ETP resource from an Energistics object defined by an UUID in a DataObjectRepository. + * @param repo The repository where the required UUID is defined + * @param uuid The UUID describing the Energistics object + * @param countRels Indicate if the returned resource contain the count of source or target relationships. + * @return The ETP resource built from the Energistics object + */ + FETPAPI_DLL_IMPORT_OR_EXPORT Energistics::Etp::v12::Datatypes::Object::Resource buildEtpResourceFromEnergisticsObject( + COMMON_NS::DataObjectRepository const* repo, const std::string& uuid, bool countRels = true); + /** * Build and return an ETP data object from an Energistics object. * @param obj The input Energistics obj * @return The ETP data object built from the Energistics object */ FETPAPI_DLL_IMPORT_OR_EXPORT Energistics::Etp::v12::Datatypes::Object::DataObject buildEtpDataObjectFromEnergisticsObject(COMMON_NS::AbstractObject * obj, bool includeSerialization = true); + + /** + * Build and return an ETP data object from an Energistics object defined by an UUID in a DataObjectRepository. + * @param repo The repository where the required UUID is defined + * @param uuid The UUID describing the Energistics object + * @return The ETP data object built from the Energistics object + */ + FETPAPI_DLL_IMPORT_OR_EXPORT Energistics::Etp::v12::Datatypes::Object::DataObject buildEtpDataObjectFromEnergisticsObject( + COMMON_NS::DataObjectRepository const* repo, const std::string& uuid, bool includeSerialization = true); } }