adding api changes to get detailed experiment tree
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4f7af6a9 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4f7af6a9 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4f7af6a9 Branch: refs/heads/develop Commit: 4f7af6a9a93774626fbf9b3b8d003022cadbf766 Parents: a6de539 Author: scnakandala <[email protected]> Authored: Mon Nov 16 11:36:46 2015 -0500 Committer: scnakandala <[email protected]> Committed: Tue Nov 17 15:08:22 2015 -0500 ---------------------------------------------------------------------- .../server/handler/AiravataServerHandler.java | 68 +++- .../src/main/resources/lib/airavata/Airavata.h | 257 ++++++++++++- .../lib/airavata/Airavata_server.skeleton.cpp | 42 ++ .../lib/airavata/experiment_model_types.cpp | 380 ++++++++++--------- .../lib/airavata/experiment_model_types.h | 15 +- .../lib/airavata/process_model_types.cpp | 4 +- .../lib/airavata/process_model_types.h | 4 +- .../resources/lib/airavata/task_model_types.cpp | 204 ++++++---- .../resources/lib/airavata/task_model_types.h | 15 +- .../lib/Airavata/Model/Experiment/Types.php | 187 +++++---- .../resources/lib/Airavata/Model/Task/Types.php | 51 +++ .../lib/apache/airavata/api/Airavata-remote | 7 + .../apache/airavata/model/experiment/ttypes.py | 125 +++--- .../lib/apache/airavata/model/task/ttypes.py | 25 +- .../airavata-api/airavata_api.thrift | 44 +++ .../airavata-api/experiment_model.thrift | 4 +- .../airavata-api/task_model.thrift | 4 +- 17 files changed, 1030 insertions(+), 406 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java index e1f53bf..ab0e146 100644 --- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java +++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java @@ -75,10 +75,7 @@ import org.apache.thrift.TException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; public class AiravataServerHandler implements Airavata.Iface { private static final Logger logger = LoggerFactory.getLogger(AiravataServerHandler.class); @@ -1256,6 +1253,69 @@ public class AiravataServerHandler implements Airavata.Iface { return getExperimentInternal(airavataExperimentId); } + /** + * Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> + * tasks -> jobs information. + * + * @param airavataExperimentId The identifier for the requested experiment. This is returned during the create experiment step. + * @return experimentMetada + * This method will return the previously stored experiment metadata. + * @throws org.apache.airavata.model.error.InvalidRequestException For any incorrect forming of the request itself. + * @throws org.apache.airavata.model.error.ExperimentNotFoundException If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * @throws org.apache.airavata.model.error.AiravataClientException The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + * <p/> + * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + * step, then Airavata Registry will not have a provenance area setup. The client has to follow + * gateway registration steps and retry this request. + * <p/> + * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + * For now this is a place holder. + * <p/> + * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + * is implemented, the authorization will be more substantial. + * @throws org.apache.airavata.model.error.AiravataSystemException This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + * rather an Airavata Administrator will be notified to take corrective action. + */ + @Override + @SecurityCheck + public ExperimentModel getDetailedExperimentTree(AuthzToken authzToken, String airavataExperimentId) throws InvalidRequestException, + ExperimentNotFoundException, AiravataClientException, AiravataSystemException, AuthorizationException, TException { + try { + ExperimentModel experimentModel = getExperimentInternal(airavataExperimentId); + experimentCatalog = RegistryFactory.getDefaultExpCatalog(); + List<Object> processObjects = experimentCatalog.get(ExperimentCatalogModelType.PROCESS, + Constants.FieldConstants.ExperimentConstants.EXPERIMENT_ID, experimentModel.getExperimentId()); + List<ProcessModel> processList = new ArrayList<>(); + if(processObjects != null){ + processObjects.stream().forEach(p -> { + //Process already has the task object + ((ProcessModel)p).getTasks().stream().forEach(t->{ + try { + List<Object> jobObjects = experimentCatalog.get(ExperimentCatalogModelType.JOB, + Constants.FieldConstants.JobConstants.TASK_ID, ((TaskModel)t).getTaskId()); + List<JobModel> jobList = new ArrayList<JobModel>(); + if(jobObjects != null){ + jobObjects.stream().forEach(j -> jobList.add((JobModel)j)); + t.setJobs(jobList); + } + } catch (RegistryException e) { + logger.error(e.getMessage(), e); + } + }); + processList.add((ProcessModel)p); + }); + experimentModel.setProcesses(processList); + } + return experimentModel; + } catch (Exception e) { + logger.error("Error while retrieving the experiment", e); + AiravataSystemException exception = new AiravataSystemException(); + exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR); + exception.setMessage("Error while retrieving the experiment. More info : " + e.getMessage()); + throw exception; + } + } + /*This private method wraps the logic of getExperiment method as this method is called internally in the API.*/ private ExperimentModel getExperimentInternal(String airavataExperimentId) throws InvalidRequestException, ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException { http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h index 67e48ae..4b7cd57 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h @@ -474,6 +474,45 @@ class AiravataIf { virtual void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0; /** + * Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> + * tasks -> jobs information. + * + * @param airavataExperimentId + * The identifier for the requested experiment. This is returned during the create experiment step. + * + * @return experimentMetada + * This method will return the previously stored experiment metadata. + * + * @throws org.apache.airavata.model.error.InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws org.apache.airavata.model.error.ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws org.apache.airavata.model.error.AiravataClientException + * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + * + * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + * step, then Airavata Registry will not have a provenance area setup. The client has to follow + * gateway registration steps and retry this request. + * + * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + * For now this is a place holder. + * + * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + * is implemented, the authorization will be more substantial. + * + * @throws org.apache.airavata.model.error.AiravataSystemException + * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + * rather an Airavata Administrator will be notified to take corrective action. + * + * + * @param authzToken + * @param airavataExperimentId + */ + virtual void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0; + + /** * Configure a previously created experiment with required inputs, scheduling and other quality of service * parameters. This method only updates the experiment object within the registry. The experiment has to be launched * to make it actionable by the server. @@ -1917,6 +1956,9 @@ class AiravataNull : virtual public AiravataIf { void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) { return; } + void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& /* _return */, const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) { + return; + } void updateExperiment(const ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const ::apache::airavata::model::experiment::ExperimentModel& /* experiment */) { return; } @@ -6222,8 +6264,8 @@ typedef struct _Airavata_getExperimentsInProject_result__isset { class Airavata_getExperimentsInProject_result { public: - static const char* ascii_fingerprint; // = "4A43F862B4395ECBB8FAF5A2B8AD5719"; - static const uint8_t binary_fingerprint[16]; // = {0x4A,0x43,0xF8,0x62,0xB4,0x39,0x5E,0xCB,0xB8,0xFA,0xF5,0xA2,0xB8,0xAD,0x57,0x19}; + static const char* ascii_fingerprint; // = "B8784F6CD390EB041E2F35FF8F2F5DF8"; + static const uint8_t binary_fingerprint[16]; // = {0xB8,0x78,0x4F,0x6C,0xD3,0x90,0xEB,0x04,0x1E,0x2F,0x35,0xFF,0x8F,0x2F,0x5D,0xF8}; Airavata_getExperimentsInProject_result(const Airavata_getExperimentsInProject_result&); Airavata_getExperimentsInProject_result& operator=(const Airavata_getExperimentsInProject_result&); @@ -6293,8 +6335,8 @@ typedef struct _Airavata_getExperimentsInProject_presult__isset { class Airavata_getExperimentsInProject_presult { public: - static const char* ascii_fingerprint; // = "4A43F862B4395ECBB8FAF5A2B8AD5719"; - static const uint8_t binary_fingerprint[16]; // = {0x4A,0x43,0xF8,0x62,0xB4,0x39,0x5E,0xCB,0xB8,0xFA,0xF5,0xA2,0xB8,0xAD,0x57,0x19}; + static const char* ascii_fingerprint; // = "B8784F6CD390EB041E2F35FF8F2F5DF8"; + static const uint8_t binary_fingerprint[16]; // = {0xB8,0x78,0x4F,0x6C,0xD3,0x90,0xEB,0x04,0x1E,0x2F,0x35,0xFF,0x8F,0x2F,0x5D,0xF8}; virtual ~Airavata_getExperimentsInProject_presult() throw(); @@ -6399,8 +6441,8 @@ typedef struct _Airavata_getUserExperiments_result__isset { class Airavata_getUserExperiments_result { public: - static const char* ascii_fingerprint; // = "564D61ED145B7790C97978C1EC67EB22"; - static const uint8_t binary_fingerprint[16]; // = {0x56,0x4D,0x61,0xED,0x14,0x5B,0x77,0x90,0xC9,0x79,0x78,0xC1,0xEC,0x67,0xEB,0x22}; + static const char* ascii_fingerprint; // = "84E19C1C4E5B827947AAA2E898184043"; + static const uint8_t binary_fingerprint[16]; // = {0x84,0xE1,0x9C,0x1C,0x4E,0x5B,0x82,0x79,0x47,0xAA,0xA2,0xE8,0x98,0x18,0x40,0x43}; Airavata_getUserExperiments_result(const Airavata_getUserExperiments_result&); Airavata_getUserExperiments_result& operator=(const Airavata_getUserExperiments_result&); @@ -6464,8 +6506,8 @@ typedef struct _Airavata_getUserExperiments_presult__isset { class Airavata_getUserExperiments_presult { public: - static const char* ascii_fingerprint; // = "564D61ED145B7790C97978C1EC67EB22"; - static const uint8_t binary_fingerprint[16]; // = {0x56,0x4D,0x61,0xED,0x14,0x5B,0x77,0x90,0xC9,0x79,0x78,0xC1,0xEC,0x67,0xEB,0x22}; + static const char* ascii_fingerprint; // = "84E19C1C4E5B827947AAA2E898184043"; + static const uint8_t binary_fingerprint[16]; // = {0x84,0xE1,0x9C,0x1C,0x4E,0x5B,0x82,0x79,0x47,0xAA,0xA2,0xE8,0x98,0x18,0x40,0x43}; virtual ~Airavata_getUserExperiments_presult() throw(); @@ -6486,8 +6528,8 @@ class Airavata_getUserExperiments_presult { class Airavata_createExperiment_args { public: - static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E"; - static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E}; + static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541"; + static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41}; Airavata_createExperiment_args(const Airavata_createExperiment_args&); Airavata_createExperiment_args& operator=(const Airavata_createExperiment_args&); @@ -6531,8 +6573,8 @@ class Airavata_createExperiment_args { class Airavata_createExperiment_pargs { public: - static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E"; - static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E}; + static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541"; + static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41}; virtual ~Airavata_createExperiment_pargs() throw(); @@ -6862,8 +6904,8 @@ typedef struct _Airavata_getExperiment_result__isset { class Airavata_getExperiment_result { public: - static const char* ascii_fingerprint; // = "0AC3160B80BF5C1F1AA64595E360CB5D"; - static const uint8_t binary_fingerprint[16]; // = {0x0A,0xC3,0x16,0x0B,0x80,0xBF,0x5C,0x1F,0x1A,0xA6,0x45,0x95,0xE3,0x60,0xCB,0x5D}; + static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C"; + static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C}; Airavata_getExperiment_result(const Airavata_getExperiment_result&); Airavata_getExperiment_result& operator=(const Airavata_getExperiment_result&); @@ -6933,8 +6975,8 @@ typedef struct _Airavata_getExperiment_presult__isset { class Airavata_getExperiment_presult { public: - static const char* ascii_fingerprint; // = "0AC3160B80BF5C1F1AA64595E360CB5D"; - static const uint8_t binary_fingerprint[16]; // = {0x0A,0xC3,0x16,0x0B,0x80,0xBF,0x5C,0x1F,0x1A,0xA6,0x45,0x95,0xE3,0x60,0xCB,0x5D}; + static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C"; + static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C}; virtual ~Airavata_getExperiment_presult() throw(); @@ -6953,11 +6995,171 @@ class Airavata_getExperiment_presult { }; +class Airavata_getDetailedExperimentTree_args { + public: + + static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF"; + static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF}; + + Airavata_getDetailedExperimentTree_args(const Airavata_getDetailedExperimentTree_args&); + Airavata_getDetailedExperimentTree_args& operator=(const Airavata_getDetailedExperimentTree_args&); + Airavata_getDetailedExperimentTree_args() : airavataExperimentId() { + } + + virtual ~Airavata_getDetailedExperimentTree_args() throw(); + ::apache::airavata::model::security::AuthzToken authzToken; + std::string airavataExperimentId; + + void __set_authzToken(const ::apache::airavata::model::security::AuthzToken& val); + + void __set_airavataExperimentId(const std::string& val); + + bool operator == (const Airavata_getDetailedExperimentTree_args & rhs) const + { + if (!(authzToken == rhs.authzToken)) + return false; + if (!(airavataExperimentId == rhs.airavataExperimentId)) + return false; + return true; + } + bool operator != (const Airavata_getDetailedExperimentTree_args &rhs) const { + return !(*this == rhs); + } + + bool operator < (const Airavata_getDetailedExperimentTree_args & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + + friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_args& obj); +}; + + +class Airavata_getDetailedExperimentTree_pargs { + public: + + static const char* ascii_fingerprint; // = "5C8C4FD14D732E7EC3E0A61A8C24C7FF"; + static const uint8_t binary_fingerprint[16]; // = {0x5C,0x8C,0x4F,0xD1,0x4D,0x73,0x2E,0x7E,0xC3,0xE0,0xA6,0x1A,0x8C,0x24,0xC7,0xFF}; + + + virtual ~Airavata_getDetailedExperimentTree_pargs() throw(); + const ::apache::airavata::model::security::AuthzToken* authzToken; + const std::string* airavataExperimentId; + + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + + friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_pargs& obj); +}; + +typedef struct _Airavata_getDetailedExperimentTree_result__isset { + _Airavata_getDetailedExperimentTree_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false), ae(false) {} + bool success :1; + bool ire :1; + bool enf :1; + bool ace :1; + bool ase :1; + bool ae :1; +} _Airavata_getDetailedExperimentTree_result__isset; + +class Airavata_getDetailedExperimentTree_result { + public: + + static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C"; + static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C}; + + Airavata_getDetailedExperimentTree_result(const Airavata_getDetailedExperimentTree_result&); + Airavata_getDetailedExperimentTree_result& operator=(const Airavata_getDetailedExperimentTree_result&); + Airavata_getDetailedExperimentTree_result() { + } + + virtual ~Airavata_getDetailedExperimentTree_result() throw(); + ::apache::airavata::model::experiment::ExperimentModel success; + ::apache::airavata::api::error::InvalidRequestException ire; + ::apache::airavata::api::error::ExperimentNotFoundException enf; + ::apache::airavata::api::error::AiravataClientException ace; + ::apache::airavata::api::error::AiravataSystemException ase; + ::apache::airavata::api::error::AuthorizationException ae; + + _Airavata_getDetailedExperimentTree_result__isset __isset; + + void __set_success(const ::apache::airavata::model::experiment::ExperimentModel& val); + + void __set_ire(const ::apache::airavata::api::error::InvalidRequestException& val); + + void __set_enf(const ::apache::airavata::api::error::ExperimentNotFoundException& val); + + void __set_ace(const ::apache::airavata::api::error::AiravataClientException& val); + + void __set_ase(const ::apache::airavata::api::error::AiravataSystemException& val); + + void __set_ae(const ::apache::airavata::api::error::AuthorizationException& val); + + bool operator == (const Airavata_getDetailedExperimentTree_result & rhs) const + { + if (!(success == rhs.success)) + return false; + if (!(ire == rhs.ire)) + return false; + if (!(enf == rhs.enf)) + return false; + if (!(ace == rhs.ace)) + return false; + if (!(ase == rhs.ase)) + return false; + if (!(ae == rhs.ae)) + return false; + return true; + } + bool operator != (const Airavata_getDetailedExperimentTree_result &rhs) const { + return !(*this == rhs); + } + + bool operator < (const Airavata_getDetailedExperimentTree_result & ) const; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const; + + friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_result& obj); +}; + +typedef struct _Airavata_getDetailedExperimentTree_presult__isset { + _Airavata_getDetailedExperimentTree_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false), ae(false) {} + bool success :1; + bool ire :1; + bool enf :1; + bool ace :1; + bool ase :1; + bool ae :1; +} _Airavata_getDetailedExperimentTree_presult__isset; + +class Airavata_getDetailedExperimentTree_presult { + public: + + static const char* ascii_fingerprint; // = "97507E675D509FA1DF7A743F62A5860C"; + static const uint8_t binary_fingerprint[16]; // = {0x97,0x50,0x7E,0x67,0x5D,0x50,0x9F,0xA1,0xDF,0x7A,0x74,0x3F,0x62,0xA5,0x86,0x0C}; + + + virtual ~Airavata_getDetailedExperimentTree_presult() throw(); + ::apache::airavata::model::experiment::ExperimentModel* success; + ::apache::airavata::api::error::InvalidRequestException ire; + ::apache::airavata::api::error::ExperimentNotFoundException enf; + ::apache::airavata::api::error::AiravataClientException ace; + ::apache::airavata::api::error::AiravataSystemException ase; + ::apache::airavata::api::error::AuthorizationException ae; + + _Airavata_getDetailedExperimentTree_presult__isset __isset; + + uint32_t read(::apache::thrift::protocol::TProtocol* iprot); + + friend std::ostream& operator<<(std::ostream& out, const Airavata_getDetailedExperimentTree_presult& obj); +}; + + class Airavata_updateExperiment_args { public: - static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E"; - static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E}; + static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541"; + static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41}; Airavata_updateExperiment_args(const Airavata_updateExperiment_args&); Airavata_updateExperiment_args& operator=(const Airavata_updateExperiment_args&); @@ -7001,8 +7203,8 @@ class Airavata_updateExperiment_args { class Airavata_updateExperiment_pargs { public: - static const char* ascii_fingerprint; // = "9A4BE74079A0E2FB7F9DE44451A9128E"; - static const uint8_t binary_fingerprint[16]; // = {0x9A,0x4B,0xE7,0x40,0x79,0xA0,0xE2,0xFB,0x7F,0x9D,0xE4,0x44,0x51,0xA9,0x12,0x8E}; + static const char* ascii_fingerprint; // = "AF8D8506603C5450CFF6943D2A1CC541"; + static const uint8_t binary_fingerprint[16]; // = {0xAF,0x8D,0x85,0x06,0x60,0x3C,0x54,0x50,0xCF,0xF6,0x94,0x3D,0x2A,0x1C,0xC5,0x41}; virtual ~Airavata_updateExperiment_pargs() throw(); @@ -22602,6 +22804,9 @@ class AiravataClient : virtual public AiravataIf { void getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId); void send_getExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId); void recv_getExperiment( ::apache::airavata::model::experiment::ExperimentModel& _return); + void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId); + void send_getDetailedExperimentTree(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId); + void recv_getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return); void updateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const ::apache::airavata::model::experiment::ExperimentModel& experiment); void send_updateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const ::apache::airavata::model::experiment::ExperimentModel& experiment); void recv_updateExperiment(); @@ -22946,6 +23151,7 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor { void process_createExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_deleteExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_getExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); + void process_getDetailedExperimentTree(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_updateExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_updateExperimentConfiguration(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); void process_updateResourceScheduleing(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext); @@ -23078,6 +23284,7 @@ class AiravataProcessor : public ::apache::thrift::TDispatchProcessor { processMap_["createExperiment"] = &AiravataProcessor::process_createExperiment; processMap_["deleteExperiment"] = &AiravataProcessor::process_deleteExperiment; processMap_["getExperiment"] = &AiravataProcessor::process_getExperiment; + processMap_["getDetailedExperimentTree"] = &AiravataProcessor::process_getDetailedExperimentTree; processMap_["updateExperiment"] = &AiravataProcessor::process_updateExperiment; processMap_["updateExperimentConfiguration"] = &AiravataProcessor::process_updateExperimentConfiguration; processMap_["updateResourceScheduleing"] = &AiravataProcessor::process_updateResourceScheduleing; @@ -23490,6 +23697,16 @@ class AiravataMultiface : virtual public AiravataIf { return; } + void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) { + size_t sz = ifaces_.size(); + size_t i = 0; + for (; i < (sz - 1); ++i) { + ifaces_[i]->getDetailedExperimentTree(_return, authzToken, airavataExperimentId); + } + ifaces_[i]->getDetailedExperimentTree(_return, authzToken, airavataExperimentId); + return; + } + void updateExperiment(const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const ::apache::airavata::model::experiment::ExperimentModel& experiment) { size_t sz = ifaces_.size(); size_t i = 0; http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp index 87dc8c2..fdc4f8c 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp @@ -576,6 +576,48 @@ class AiravataHandler : virtual public AiravataIf { } /** + * Fetch the completed nested tree structue of previously created experiment metadata which includes processes -> + * tasks -> jobs information. + * + * @param airavataExperimentId + * The identifier for the requested experiment. This is returned during the create experiment step. + * + * @return experimentMetada + * This method will return the previously stored experiment metadata. + * + * @throws org.apache.airavata.model.error.InvalidRequestException + * For any incorrect forming of the request itself. + * + * @throws org.apache.airavata.model.error.ExperimentNotFoundException + * If the specified experiment is not previously created, then an Experiment Not Found Exception is thrown. + * + * @throws org.apache.airavata.model.error.AiravataClientException + * The following list of exceptions are thrown which Airavata Client can take corrective actions to resolve: + * + * UNKNOWN_GATEWAY_ID - If a Gateway is not registered with Airavata as a one time administrative + * step, then Airavata Registry will not have a provenance area setup. The client has to follow + * gateway registration steps and retry this request. + * + * AUTHENTICATION_FAILURE - How Authentication will be implemented is yet to be determined. + * For now this is a place holder. + * + * INVALID_AUTHORIZATION - This will throw an authorization exception. When a more robust security hand-shake + * is implemented, the authorization will be more substantial. + * + * @throws org.apache.airavata.model.error.AiravataSystemException + * This exception will be thrown for any Airavata Server side issues and if the problem cannot be corrected by the client + * rather an Airavata Administrator will be notified to take corrective action. + * + * + * @param authzToken + * @param airavataExperimentId + */ + void getDetailedExperimentTree( ::apache::airavata::model::experiment::ExperimentModel& _return, const ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) { + // Your implementation goes here + printf("getDetailedExperimentTree\n"); + } + + /** * Configure a previously created experiment with required inputs, scheduling and other quality of service * parameters. This method only updates the experiment object within the registry. The experiment has to be launched * to make it actionable by the server. http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp index d4e5ad2..cdbf72b 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp @@ -370,8 +370,13 @@ void ExperimentModel::__set_errors(const std::vector< ::apache::airavata::model: __isset.errors = true; } -const char* ExperimentModel::ascii_fingerprint = "5B49E16C9D5CBD0AE0EC026061048743"; -const uint8_t ExperimentModel::binary_fingerprint[16] = {0x5B,0x49,0xE1,0x6C,0x9D,0x5C,0xBD,0x0A,0xE0,0xEC,0x02,0x60,0x61,0x04,0x87,0x43}; +void ExperimentModel::__set_processes(const std::vector< ::apache::airavata::model::process::ProcessModel> & val) { + this->processes = val; +__isset.processes = true; +} + +const char* ExperimentModel::ascii_fingerprint = "4DF530DE68212F7F779CF0EF35D9EDC3"; +const uint8_t ExperimentModel::binary_fingerprint[16] = {0x4D,0xF5,0x30,0xDE,0x68,0x21,0x2F,0x7F,0x77,0x9C,0xF0,0xEF,0x35,0xD9,0xED,0xC3}; uint32_t ExperimentModel::read(::apache::thrift::protocol::TProtocol* iprot) { @@ -585,6 +590,26 @@ uint32_t ExperimentModel::read(::apache::thrift::protocol::TProtocol* iprot) { xfer += iprot->skip(ftype); } break; + case 18: + if (ftype == ::apache::thrift::protocol::T_LIST) { + { + this->processes.clear(); + uint32_t _size23; + ::apache::thrift::protocol::TType _etype26; + xfer += iprot->readListBegin(_etype26, _size23); + this->processes.resize(_size23); + uint32_t _i27; + for (_i27 = 0; _i27 < _size23; ++_i27) + { + xfer += this->processes[_i27].read(iprot); + } + xfer += iprot->readListEnd(); + } + this->__isset.processes = true; + } else { + xfer += iprot->skip(ftype); + } + break; default: xfer += iprot->skip(ftype); break; @@ -667,10 +692,10 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co xfer += oprot->writeFieldBegin("emailAddresses", ::apache::thrift::protocol::T_LIST, 12); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->emailAddresses.size())); - std::vector<std::string> ::const_iterator _iter23; - for (_iter23 = this->emailAddresses.begin(); _iter23 != this->emailAddresses.end(); ++_iter23) + std::vector<std::string> ::const_iterator _iter28; + for (_iter28 = this->emailAddresses.begin(); _iter28 != this->emailAddresses.end(); ++_iter28) { - xfer += oprot->writeString((*_iter23)); + xfer += oprot->writeString((*_iter28)); } xfer += oprot->writeListEnd(); } @@ -685,10 +710,10 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co xfer += oprot->writeFieldBegin("experimentInputs", ::apache::thrift::protocol::T_LIST, 14); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentInputs.size())); - std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter24; - for (_iter24 = this->experimentInputs.begin(); _iter24 != this->experimentInputs.end(); ++_iter24) + std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter29; + for (_iter29 = this->experimentInputs.begin(); _iter29 != this->experimentInputs.end(); ++_iter29) { - xfer += (*_iter24).write(oprot); + xfer += (*_iter29).write(oprot); } xfer += oprot->writeListEnd(); } @@ -698,10 +723,10 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co xfer += oprot->writeFieldBegin("experimentOutputs", ::apache::thrift::protocol::T_LIST, 15); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentOutputs.size())); - std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter25; - for (_iter25 = this->experimentOutputs.begin(); _iter25 != this->experimentOutputs.end(); ++_iter25) + std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter30; + for (_iter30 = this->experimentOutputs.begin(); _iter30 != this->experimentOutputs.end(); ++_iter30) { - xfer += (*_iter25).write(oprot); + xfer += (*_iter30).write(oprot); } xfer += oprot->writeListEnd(); } @@ -716,10 +741,23 @@ uint32_t ExperimentModel::write(::apache::thrift::protocol::TProtocol* oprot) co xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 17); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size())); - std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter26; - for (_iter26 = this->errors.begin(); _iter26 != this->errors.end(); ++_iter26) + std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter31; + for (_iter31 = this->errors.begin(); _iter31 != this->errors.end(); ++_iter31) + { + xfer += (*_iter31).write(oprot); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + } + if (this->__isset.processes) { + xfer += oprot->writeFieldBegin("processes", ::apache::thrift::protocol::T_LIST, 18); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processes.size())); + std::vector< ::apache::airavata::model::process::ProcessModel> ::const_iterator _iter32; + for (_iter32 = this->processes.begin(); _iter32 != this->processes.end(); ++_iter32) { - xfer += (*_iter26).write(oprot); + xfer += (*_iter32).write(oprot); } xfer += oprot->writeListEnd(); } @@ -750,48 +788,51 @@ void swap(ExperimentModel &a, ExperimentModel &b) { swap(a.experimentOutputs, b.experimentOutputs); swap(a.experimentStatus, b.experimentStatus); swap(a.errors, b.errors); + swap(a.processes, b.processes); swap(a.__isset, b.__isset); } -ExperimentModel::ExperimentModel(const ExperimentModel& other27) { - experimentId = other27.experimentId; - projectId = other27.projectId; - gatewayId = other27.gatewayId; - experimentType = other27.experimentType; - userName = other27.userName; - experimentName = other27.experimentName; - creationTime = other27.creationTime; - description = other27.description; - executionId = other27.executionId; - gatewayExecutionId = other27.gatewayExecutionId; - enableEmailNotification = other27.enableEmailNotification; - emailAddresses = other27.emailAddresses; - userConfigurationData = other27.userConfigurationData; - experimentInputs = other27.experimentInputs; - experimentOutputs = other27.experimentOutputs; - experimentStatus = other27.experimentStatus; - errors = other27.errors; - __isset = other27.__isset; -} -ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other28) { - experimentId = other28.experimentId; - projectId = other28.projectId; - gatewayId = other28.gatewayId; - experimentType = other28.experimentType; - userName = other28.userName; - experimentName = other28.experimentName; - creationTime = other28.creationTime; - description = other28.description; - executionId = other28.executionId; - gatewayExecutionId = other28.gatewayExecutionId; - enableEmailNotification = other28.enableEmailNotification; - emailAddresses = other28.emailAddresses; - userConfigurationData = other28.userConfigurationData; - experimentInputs = other28.experimentInputs; - experimentOutputs = other28.experimentOutputs; - experimentStatus = other28.experimentStatus; - errors = other28.errors; - __isset = other28.__isset; +ExperimentModel::ExperimentModel(const ExperimentModel& other33) { + experimentId = other33.experimentId; + projectId = other33.projectId; + gatewayId = other33.gatewayId; + experimentType = other33.experimentType; + userName = other33.userName; + experimentName = other33.experimentName; + creationTime = other33.creationTime; + description = other33.description; + executionId = other33.executionId; + gatewayExecutionId = other33.gatewayExecutionId; + enableEmailNotification = other33.enableEmailNotification; + emailAddresses = other33.emailAddresses; + userConfigurationData = other33.userConfigurationData; + experimentInputs = other33.experimentInputs; + experimentOutputs = other33.experimentOutputs; + experimentStatus = other33.experimentStatus; + errors = other33.errors; + processes = other33.processes; + __isset = other33.__isset; +} +ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other34) { + experimentId = other34.experimentId; + projectId = other34.projectId; + gatewayId = other34.gatewayId; + experimentType = other34.experimentType; + userName = other34.userName; + experimentName = other34.experimentName; + creationTime = other34.creationTime; + description = other34.description; + executionId = other34.executionId; + gatewayExecutionId = other34.gatewayExecutionId; + enableEmailNotification = other34.enableEmailNotification; + emailAddresses = other34.emailAddresses; + userConfigurationData = other34.userConfigurationData; + experimentInputs = other34.experimentInputs; + experimentOutputs = other34.experimentOutputs; + experimentStatus = other34.experimentStatus; + errors = other34.errors; + processes = other34.processes; + __isset = other34.__isset; return *this; } std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj) { @@ -814,6 +855,7 @@ std::ostream& operator<<(std::ostream& out, const ExperimentModel& obj) { out << ", " << "experimentOutputs="; (obj.__isset.experimentOutputs ? (out << to_string(obj.experimentOutputs)) : (out << "<null>")); out << ", " << "experimentStatus="; (obj.__isset.experimentStatus ? (out << to_string(obj.experimentStatus)) : (out << "<null>")); out << ", " << "errors="; (obj.__isset.errors ? (out << to_string(obj.errors)) : (out << "<null>")); + out << ", " << "processes="; (obj.__isset.processes ? (out << to_string(obj.processes)) : (out << "<null>")); out << ")"; return out; } @@ -1088,33 +1130,33 @@ void swap(ExperimentSummaryModel &a, ExperimentSummaryModel &b) { swap(a.__isset, b.__isset); } -ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other29) { - experimentId = other29.experimentId; - projectId = other29.projectId; - gatewayId = other29.gatewayId; - creationTime = other29.creationTime; - userName = other29.userName; - name = other29.name; - description = other29.description; - executionId = other29.executionId; - resourceHostId = other29.resourceHostId; - experimentStatus = other29.experimentStatus; - statusUpdateTime = other29.statusUpdateTime; - __isset = other29.__isset; -} -ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other30) { - experimentId = other30.experimentId; - projectId = other30.projectId; - gatewayId = other30.gatewayId; - creationTime = other30.creationTime; - userName = other30.userName; - name = other30.name; - description = other30.description; - executionId = other30.executionId; - resourceHostId = other30.resourceHostId; - experimentStatus = other30.experimentStatus; - statusUpdateTime = other30.statusUpdateTime; - __isset = other30.__isset; +ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other35) { + experimentId = other35.experimentId; + projectId = other35.projectId; + gatewayId = other35.gatewayId; + creationTime = other35.creationTime; + userName = other35.userName; + name = other35.name; + description = other35.description; + executionId = other35.executionId; + resourceHostId = other35.resourceHostId; + experimentStatus = other35.experimentStatus; + statusUpdateTime = other35.statusUpdateTime; + __isset = other35.__isset; +} +ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other36) { + experimentId = other36.experimentId; + projectId = other36.projectId; + gatewayId = other36.gatewayId; + creationTime = other36.creationTime; + userName = other36.userName; + name = other36.name; + description = other36.description; + executionId = other36.executionId; + resourceHostId = other36.resourceHostId; + experimentStatus = other36.experimentStatus; + statusUpdateTime = other36.statusUpdateTime; + __isset = other36.__isset; return *this; } std::ostream& operator<<(std::ostream& out, const ExperimentSummaryModel& obj) { @@ -1275,14 +1317,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_LIST) { { this->allExperiments.clear(); - uint32_t _size31; - ::apache::thrift::protocol::TType _etype34; - xfer += iprot->readListBegin(_etype34, _size31); - this->allExperiments.resize(_size31); - uint32_t _i35; - for (_i35 = 0; _i35 < _size31; ++_i35) + uint32_t _size37; + ::apache::thrift::protocol::TType _etype40; + xfer += iprot->readListBegin(_etype40, _size37); + this->allExperiments.resize(_size37); + uint32_t _i41; + for (_i41 = 0; _i41 < _size37; ++_i41) { - xfer += this->allExperiments[_i35].read(iprot); + xfer += this->allExperiments[_i41].read(iprot); } xfer += iprot->readListEnd(); } @@ -1295,14 +1337,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_LIST) { { this->completedExperiments.clear(); - uint32_t _size36; - ::apache::thrift::protocol::TType _etype39; - xfer += iprot->readListBegin(_etype39, _size36); - this->completedExperiments.resize(_size36); - uint32_t _i40; - for (_i40 = 0; _i40 < _size36; ++_i40) + uint32_t _size42; + ::apache::thrift::protocol::TType _etype45; + xfer += iprot->readListBegin(_etype45, _size42); + this->completedExperiments.resize(_size42); + uint32_t _i46; + for (_i46 = 0; _i46 < _size42; ++_i46) { - xfer += this->completedExperiments[_i40].read(iprot); + xfer += this->completedExperiments[_i46].read(iprot); } xfer += iprot->readListEnd(); } @@ -1315,14 +1357,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_LIST) { { this->failedExperiments.clear(); - uint32_t _size41; - ::apache::thrift::protocol::TType _etype44; - xfer += iprot->readListBegin(_etype44, _size41); - this->failedExperiments.resize(_size41); - uint32_t _i45; - for (_i45 = 0; _i45 < _size41; ++_i45) + uint32_t _size47; + ::apache::thrift::protocol::TType _etype50; + xfer += iprot->readListBegin(_etype50, _size47); + this->failedExperiments.resize(_size47); + uint32_t _i51; + for (_i51 = 0; _i51 < _size47; ++_i51) { - xfer += this->failedExperiments[_i45].read(iprot); + xfer += this->failedExperiments[_i51].read(iprot); } xfer += iprot->readListEnd(); } @@ -1335,14 +1377,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_LIST) { { this->cancelledExperiments.clear(); - uint32_t _size46; - ::apache::thrift::protocol::TType _etype49; - xfer += iprot->readListBegin(_etype49, _size46); - this->cancelledExperiments.resize(_size46); - uint32_t _i50; - for (_i50 = 0; _i50 < _size46; ++_i50) + uint32_t _size52; + ::apache::thrift::protocol::TType _etype55; + xfer += iprot->readListBegin(_etype55, _size52); + this->cancelledExperiments.resize(_size52); + uint32_t _i56; + for (_i56 = 0; _i56 < _size52; ++_i56) { - xfer += this->cancelledExperiments[_i50].read(iprot); + xfer += this->cancelledExperiments[_i56].read(iprot); } xfer += iprot->readListEnd(); } @@ -1355,14 +1397,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_LIST) { { this->createdExperiments.clear(); - uint32_t _size51; - ::apache::thrift::protocol::TType _etype54; - xfer += iprot->readListBegin(_etype54, _size51); - this->createdExperiments.resize(_size51); - uint32_t _i55; - for (_i55 = 0; _i55 < _size51; ++_i55) + uint32_t _size57; + ::apache::thrift::protocol::TType _etype60; + xfer += iprot->readListBegin(_etype60, _size57); + this->createdExperiments.resize(_size57); + uint32_t _i61; + for (_i61 = 0; _i61 < _size57; ++_i61) { - xfer += this->createdExperiments[_i55].read(iprot); + xfer += this->createdExperiments[_i61].read(iprot); } xfer += iprot->readListEnd(); } @@ -1375,14 +1417,14 @@ uint32_t ExperimentStatistics::read(::apache::thrift::protocol::TProtocol* iprot if (ftype == ::apache::thrift::protocol::T_LIST) { { this->runningExperiments.clear(); - uint32_t _size56; - ::apache::thrift::protocol::TType _etype59; - xfer += iprot->readListBegin(_etype59, _size56); - this->runningExperiments.resize(_size56); - uint32_t _i60; - for (_i60 = 0; _i60 < _size56; ++_i60) + uint32_t _size62; + ::apache::thrift::protocol::TType _etype65; + xfer += iprot->readListBegin(_etype65, _size62); + this->runningExperiments.resize(_size62); + uint32_t _i66; + for (_i66 = 0; _i66 < _size62; ++_i66) { - xfer += this->runningExperiments[_i60].read(iprot); + xfer += this->runningExperiments[_i66].read(iprot); } xfer += iprot->readListEnd(); } @@ -1448,10 +1490,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("allExperiments", ::apache::thrift::protocol::T_LIST, 7); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->allExperiments.size())); - std::vector<ExperimentSummaryModel> ::const_iterator _iter61; - for (_iter61 = this->allExperiments.begin(); _iter61 != this->allExperiments.end(); ++_iter61) + std::vector<ExperimentSummaryModel> ::const_iterator _iter67; + for (_iter67 = this->allExperiments.begin(); _iter67 != this->allExperiments.end(); ++_iter67) { - xfer += (*_iter61).write(oprot); + xfer += (*_iter67).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1461,10 +1503,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("completedExperiments", ::apache::thrift::protocol::T_LIST, 8); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->completedExperiments.size())); - std::vector<ExperimentSummaryModel> ::const_iterator _iter62; - for (_iter62 = this->completedExperiments.begin(); _iter62 != this->completedExperiments.end(); ++_iter62) + std::vector<ExperimentSummaryModel> ::const_iterator _iter68; + for (_iter68 = this->completedExperiments.begin(); _iter68 != this->completedExperiments.end(); ++_iter68) { - xfer += (*_iter62).write(oprot); + xfer += (*_iter68).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1474,10 +1516,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("failedExperiments", ::apache::thrift::protocol::T_LIST, 9); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->failedExperiments.size())); - std::vector<ExperimentSummaryModel> ::const_iterator _iter63; - for (_iter63 = this->failedExperiments.begin(); _iter63 != this->failedExperiments.end(); ++_iter63) + std::vector<ExperimentSummaryModel> ::const_iterator _iter69; + for (_iter69 = this->failedExperiments.begin(); _iter69 != this->failedExperiments.end(); ++_iter69) { - xfer += (*_iter63).write(oprot); + xfer += (*_iter69).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1487,10 +1529,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("cancelledExperiments", ::apache::thrift::protocol::T_LIST, 10); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->cancelledExperiments.size())); - std::vector<ExperimentSummaryModel> ::const_iterator _iter64; - for (_iter64 = this->cancelledExperiments.begin(); _iter64 != this->cancelledExperiments.end(); ++_iter64) + std::vector<ExperimentSummaryModel> ::const_iterator _iter70; + for (_iter70 = this->cancelledExperiments.begin(); _iter70 != this->cancelledExperiments.end(); ++_iter70) { - xfer += (*_iter64).write(oprot); + xfer += (*_iter70).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1500,10 +1542,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("createdExperiments", ::apache::thrift::protocol::T_LIST, 11); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->createdExperiments.size())); - std::vector<ExperimentSummaryModel> ::const_iterator _iter65; - for (_iter65 = this->createdExperiments.begin(); _iter65 != this->createdExperiments.end(); ++_iter65) + std::vector<ExperimentSummaryModel> ::const_iterator _iter71; + for (_iter71 = this->createdExperiments.begin(); _iter71 != this->createdExperiments.end(); ++_iter71) { - xfer += (*_iter65).write(oprot); + xfer += (*_iter71).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1513,10 +1555,10 @@ uint32_t ExperimentStatistics::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeFieldBegin("runningExperiments", ::apache::thrift::protocol::T_LIST, 12); { xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->runningExperiments.size())); - std::vector<ExperimentSummaryModel> ::const_iterator _iter66; - for (_iter66 = this->runningExperiments.begin(); _iter66 != this->runningExperiments.end(); ++_iter66) + std::vector<ExperimentSummaryModel> ::const_iterator _iter72; + for (_iter72 = this->runningExperiments.begin(); _iter72 != this->runningExperiments.end(); ++_iter72) { - xfer += (*_iter66).write(oprot); + xfer += (*_iter72).write(oprot); } xfer += oprot->writeListEnd(); } @@ -1545,35 +1587,35 @@ void swap(ExperimentStatistics &a, ExperimentStatistics &b) { swap(a.__isset, b.__isset); } -ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other67) { - allExperimentCount = other67.allExperimentCount; - completedExperimentCount = other67.completedExperimentCount; - cancelledExperimentCount = other67.cancelledExperimentCount; - failedExperimentCount = other67.failedExperimentCount; - createdExperimentCount = other67.createdExperimentCount; - runningExperimentCount = other67.runningExperimentCount; - allExperiments = other67.allExperiments; - completedExperiments = other67.completedExperiments; - failedExperiments = other67.failedExperiments; - cancelledExperiments = other67.cancelledExperiments; - createdExperiments = other67.createdExperiments; - runningExperiments = other67.runningExperiments; - __isset = other67.__isset; -} -ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other68) { - allExperimentCount = other68.allExperimentCount; - completedExperimentCount = other68.completedExperimentCount; - cancelledExperimentCount = other68.cancelledExperimentCount; - failedExperimentCount = other68.failedExperimentCount; - createdExperimentCount = other68.createdExperimentCount; - runningExperimentCount = other68.runningExperimentCount; - allExperiments = other68.allExperiments; - completedExperiments = other68.completedExperiments; - failedExperiments = other68.failedExperiments; - cancelledExperiments = other68.cancelledExperiments; - createdExperiments = other68.createdExperiments; - runningExperiments = other68.runningExperiments; - __isset = other68.__isset; +ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other73) { + allExperimentCount = other73.allExperimentCount; + completedExperimentCount = other73.completedExperimentCount; + cancelledExperimentCount = other73.cancelledExperimentCount; + failedExperimentCount = other73.failedExperimentCount; + createdExperimentCount = other73.createdExperimentCount; + runningExperimentCount = other73.runningExperimentCount; + allExperiments = other73.allExperiments; + completedExperiments = other73.completedExperiments; + failedExperiments = other73.failedExperiments; + cancelledExperiments = other73.cancelledExperiments; + createdExperiments = other73.createdExperiments; + runningExperiments = other73.runningExperiments; + __isset = other73.__isset; +} +ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other74) { + allExperimentCount = other74.allExperimentCount; + completedExperimentCount = other74.completedExperimentCount; + cancelledExperimentCount = other74.cancelledExperimentCount; + failedExperimentCount = other74.failedExperimentCount; + createdExperimentCount = other74.createdExperimentCount; + runningExperimentCount = other74.runningExperimentCount; + allExperiments = other74.allExperiments; + completedExperiments = other74.completedExperiments; + failedExperiments = other74.failedExperiments; + cancelledExperiments = other74.cancelledExperiments; + createdExperiments = other74.createdExperiments; + runningExperiments = other74.runningExperiments; + __isset = other74.__isset; return *this; } std::ostream& operator<<(std::ostream& out, const ExperimentStatistics& obj) { http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h index 13ec7a6..c9f71a2 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h @@ -36,6 +36,7 @@ #include "scheduling_model_types.h" #include "airavata_commons_types.h" #include "status_models_types.h" +#include "process_model_types.h" namespace apache { namespace airavata { namespace model { namespace experiment { @@ -159,7 +160,7 @@ class UserConfigurationDataModel { void swap(UserConfigurationDataModel &a, UserConfigurationDataModel &b); typedef struct _ExperimentModel__isset { - _ExperimentModel__isset() : creationTime(false), description(false), executionId(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), userConfigurationData(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), errors(false) {} + _ExperimentModel__isset() : creationTime(false), description(false), executionId(false), gatewayExecutionId(false), enableEmailNotification(false), emailAddresses(false), userConfigurationData(false), experimentInputs(false), experimentOutputs(false), experimentStatus(false), errors(false), processes(false) {} bool creationTime :1; bool description :1; bool executionId :1; @@ -171,13 +172,14 @@ typedef struct _ExperimentModel__isset { bool experimentOutputs :1; bool experimentStatus :1; bool errors :1; + bool processes :1; } _ExperimentModel__isset; class ExperimentModel { public: - static const char* ascii_fingerprint; // = "5B49E16C9D5CBD0AE0EC026061048743"; - static const uint8_t binary_fingerprint[16]; // = {0x5B,0x49,0xE1,0x6C,0x9D,0x5C,0xBD,0x0A,0xE0,0xEC,0x02,0x60,0x61,0x04,0x87,0x43}; + static const char* ascii_fingerprint; // = "4DF530DE68212F7F779CF0EF35D9EDC3"; + static const uint8_t binary_fingerprint[16]; // = {0x4D,0xF5,0x30,0xDE,0x68,0x21,0x2F,0x7F,0x77,0x9C,0xF0,0xEF,0x35,0xD9,0xED,0xC3}; ExperimentModel(const ExperimentModel&); ExperimentModel& operator=(const ExperimentModel&); @@ -204,6 +206,7 @@ class ExperimentModel { std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> experimentOutputs; ::apache::airavata::model::status::ExperimentStatus experimentStatus; std::vector< ::apache::airavata::model::commons::ErrorModel> errors; + std::vector< ::apache::airavata::model::process::ProcessModel> processes; _ExperimentModel__isset __isset; @@ -241,6 +244,8 @@ class ExperimentModel { void __set_errors(const std::vector< ::apache::airavata::model::commons::ErrorModel> & val); + void __set_processes(const std::vector< ::apache::airavata::model::process::ProcessModel> & val); + bool operator == (const ExperimentModel & rhs) const { if (!(experimentId == rhs.experimentId)) @@ -299,6 +304,10 @@ class ExperimentModel { return false; else if (__isset.errors && !(errors == rhs.errors)) return false; + if (__isset.processes != rhs.__isset.processes) + return false; + else if (__isset.processes && !(processes == rhs.processes)) + return false; return true; } bool operator != (const ExperimentModel &rhs) const { http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp index 1bb4dba..12a5cc9 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.cpp @@ -123,8 +123,8 @@ void ProcessModel::__set_emailAddresses(const std::vector<std::string> & val) { __isset.emailAddresses = true; } -const char* ProcessModel::ascii_fingerprint = "39636B349F7E4431980EEC63BDFCEB41"; -const uint8_t ProcessModel::binary_fingerprint[16] = {0x39,0x63,0x6B,0x34,0x9F,0x7E,0x44,0x31,0x98,0x0E,0xEC,0x63,0xBD,0xFC,0xEB,0x41}; +const char* ProcessModel::ascii_fingerprint = "DD9F28E8C54528EC5BBC117D76D7BC84"; +const uint8_t ProcessModel::binary_fingerprint[16] = {0xDD,0x9F,0x28,0xE8,0xC5,0x45,0x28,0xEC,0x5B,0xBC,0x11,0x7D,0x76,0xD7,0xBC,0x84}; uint32_t ProcessModel::read(::apache::thrift::protocol::TProtocol* iprot) { http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h index 0d56652..8234941 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/process_model_types.h @@ -66,8 +66,8 @@ typedef struct _ProcessModel__isset { class ProcessModel { public: - static const char* ascii_fingerprint; // = "39636B349F7E4431980EEC63BDFCEB41"; - static const uint8_t binary_fingerprint[16]; // = {0x39,0x63,0x6B,0x34,0x9F,0x7E,0x44,0x31,0x98,0x0E,0xEC,0x63,0xBD,0xFC,0xEB,0x41}; + static const char* ascii_fingerprint; // = "DD9F28E8C54528EC5BBC117D76D7BC84"; + static const uint8_t binary_fingerprint[16]; // = {0xDD,0x9F,0x28,0xE8,0xC5,0x45,0x28,0xEC,0x5B,0xBC,0x11,0x7D,0x76,0xD7,0xBC,0x84}; ProcessModel(const ProcessModel&); ProcessModel& operator=(const ProcessModel&); http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp index 95cd95c..c99a9e0 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.cpp @@ -102,8 +102,13 @@ void TaskModel::__set_taskError(const ::apache::airavata::model::commons::Error __isset.taskError = true; } -const char* TaskModel::ascii_fingerprint = "CE3A1BEFC350140F2B4D2EF1424A7C4F"; -const uint8_t TaskModel::binary_fingerprint[16] = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F}; +void TaskModel::__set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> & val) { + this->jobs = val; +__isset.jobs = true; +} + +const char* TaskModel::ascii_fingerprint = "BA52131C9C867CBF7281F29EDD7DDB6F"; +const uint8_t TaskModel::binary_fingerprint[16] = {0xBA,0x52,0x13,0x1C,0x9C,0x86,0x7C,0xBF,0x72,0x81,0xF2,0x9E,0xDD,0x7D,0xDB,0x6F}; uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) { @@ -205,6 +210,26 @@ uint32_t TaskModel::read(::apache::thrift::protocol::TProtocol* iprot) { xfer += iprot->skip(ftype); } break; + case 10: + if (ftype == ::apache::thrift::protocol::T_LIST) { + { + this->jobs.clear(); + uint32_t _size1; + ::apache::thrift::protocol::TType _etype4; + xfer += iprot->readListBegin(_etype4, _size1); + this->jobs.resize(_size1); + uint32_t _i5; + for (_i5 = 0; _i5 < _size1; ++_i5) + { + xfer += this->jobs[_i5].read(iprot); + } + xfer += iprot->readListEnd(); + } + this->__isset.jobs = true; + } else { + xfer += iprot->skip(ftype); + } + break; default: xfer += iprot->skip(ftype); break; @@ -273,6 +298,19 @@ uint32_t TaskModel::write(::apache::thrift::protocol::TProtocol* oprot) const { xfer += this->taskError.write(oprot); xfer += oprot->writeFieldEnd(); } + if (this->__isset.jobs) { + xfer += oprot->writeFieldBegin("jobs", ::apache::thrift::protocol::T_LIST, 10); + { + xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobs.size())); + std::vector< ::apache::airavata::model::job::JobModel> ::const_iterator _iter6; + for (_iter6 = this->jobs.begin(); _iter6 != this->jobs.end(); ++_iter6) + { + xfer += (*_iter6).write(oprot); + } + xfer += oprot->writeListEnd(); + } + xfer += oprot->writeFieldEnd(); + } xfer += oprot->writeFieldStop(); xfer += oprot->writeStructEnd(); oprot->decrementRecursionDepth(); @@ -290,32 +328,35 @@ void swap(TaskModel &a, TaskModel &b) { swap(a.taskDetail, b.taskDetail); swap(a.subTaskModel, b.subTaskModel); swap(a.taskError, b.taskError); + swap(a.jobs, b.jobs); swap(a.__isset, b.__isset); } -TaskModel::TaskModel(const TaskModel& other1) { - taskId = other1.taskId; - taskType = other1.taskType; - parentProcessId = other1.parentProcessId; - creationTime = other1.creationTime; - lastUpdateTime = other1.lastUpdateTime; - taskStatus = other1.taskStatus; - taskDetail = other1.taskDetail; - subTaskModel = other1.subTaskModel; - taskError = other1.taskError; - __isset = other1.__isset; -} -TaskModel& TaskModel::operator=(const TaskModel& other2) { - taskId = other2.taskId; - taskType = other2.taskType; - parentProcessId = other2.parentProcessId; - creationTime = other2.creationTime; - lastUpdateTime = other2.lastUpdateTime; - taskStatus = other2.taskStatus; - taskDetail = other2.taskDetail; - subTaskModel = other2.subTaskModel; - taskError = other2.taskError; - __isset = other2.__isset; +TaskModel::TaskModel(const TaskModel& other7) { + taskId = other7.taskId; + taskType = other7.taskType; + parentProcessId = other7.parentProcessId; + creationTime = other7.creationTime; + lastUpdateTime = other7.lastUpdateTime; + taskStatus = other7.taskStatus; + taskDetail = other7.taskDetail; + subTaskModel = other7.subTaskModel; + taskError = other7.taskError; + jobs = other7.jobs; + __isset = other7.__isset; +} +TaskModel& TaskModel::operator=(const TaskModel& other8) { + taskId = other8.taskId; + taskType = other8.taskType; + parentProcessId = other8.parentProcessId; + creationTime = other8.creationTime; + lastUpdateTime = other8.lastUpdateTime; + taskStatus = other8.taskStatus; + taskDetail = other8.taskDetail; + subTaskModel = other8.subTaskModel; + taskError = other8.taskError; + jobs = other8.jobs; + __isset = other8.__isset; return *this; } std::ostream& operator<<(std::ostream& out, const TaskModel& obj) { @@ -330,6 +371,7 @@ std::ostream& operator<<(std::ostream& out, const TaskModel& obj) { out << ", " << "taskDetail="; (obj.__isset.taskDetail ? (out << to_string(obj.taskDetail)) : (out << "<null>")); out << ", " << "subTaskModel="; (obj.__isset.subTaskModel ? (out << to_string(obj.subTaskModel)) : (out << "<null>")); out << ", " << "taskError="; (obj.__isset.taskError ? (out << to_string(obj.taskError)) : (out << "<null>")); + out << ", " << "jobs="; (obj.__isset.jobs ? (out << to_string(obj.jobs)) : (out << "<null>")); out << ")"; return out; } @@ -420,9 +462,9 @@ uint32_t DataStagingTaskModel::read(::apache::thrift::protocol::TProtocol* iprot break; case 3: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast3; - xfer += iprot->readI32(ecast3); - this->type = (DataStageType::type)ecast3; + int32_t ecast9; + xfer += iprot->readI32(ecast9); + this->type = (DataStageType::type)ecast9; isset_type = true; } else { xfer += iprot->skip(ftype); @@ -547,27 +589,27 @@ void swap(DataStagingTaskModel &a, DataStagingTaskModel &b) { swap(a.__isset, b.__isset); } -DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& other4) { - source = other4.source; - destination = other4.destination; - type = other4.type; - transferStartTime = other4.transferStartTime; - transferEndTime = other4.transferEndTime; - transferRate = other4.transferRate; - processInput = other4.processInput; - processOutput = other4.processOutput; - __isset = other4.__isset; -} -DataStagingTaskModel& DataStagingTaskModel::operator=(const DataStagingTaskModel& other5) { - source = other5.source; - destination = other5.destination; - type = other5.type; - transferStartTime = other5.transferStartTime; - transferEndTime = other5.transferEndTime; - transferRate = other5.transferRate; - processInput = other5.processInput; - processOutput = other5.processOutput; - __isset = other5.__isset; +DataStagingTaskModel::DataStagingTaskModel(const DataStagingTaskModel& other10) { + source = other10.source; + destination = other10.destination; + type = other10.type; + transferStartTime = other10.transferStartTime; + transferEndTime = other10.transferEndTime; + transferRate = other10.transferRate; + processInput = other10.processInput; + processOutput = other10.processOutput; + __isset = other10.__isset; +} +DataStagingTaskModel& DataStagingTaskModel::operator=(const DataStagingTaskModel& other11) { + source = other11.source; + destination = other11.destination; + type = other11.type; + transferStartTime = other11.transferStartTime; + transferEndTime = other11.transferEndTime; + transferRate = other11.transferRate; + processInput = other11.processInput; + processOutput = other11.processOutput; + __isset = other11.__isset; return *this; } std::ostream& operator<<(std::ostream& out, const DataStagingTaskModel& obj) { @@ -633,9 +675,9 @@ uint32_t EnvironmentSetupTaskModel::read(::apache::thrift::protocol::TProtocol* break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast6; - xfer += iprot->readI32(ecast6); - this->protocol = ( ::apache::airavata::model::appcatalog::computeresource::SecurityProtocol::type)ecast6; + int32_t ecast12; + xfer += iprot->readI32(ecast12); + this->protocol = ( ::apache::airavata::model::appcatalog::computeresource::SecurityProtocol::type)ecast12; isset_protocol = true; } else { xfer += iprot->skip(ftype); @@ -682,13 +724,13 @@ void swap(EnvironmentSetupTaskModel &a, EnvironmentSetupTaskModel &b) { swap(a.protocol, b.protocol); } -EnvironmentSetupTaskModel::EnvironmentSetupTaskModel(const EnvironmentSetupTaskModel& other7) { - location = other7.location; - protocol = other7.protocol; +EnvironmentSetupTaskModel::EnvironmentSetupTaskModel(const EnvironmentSetupTaskModel& other13) { + location = other13.location; + protocol = other13.protocol; } -EnvironmentSetupTaskModel& EnvironmentSetupTaskModel::operator=(const EnvironmentSetupTaskModel& other8) { - location = other8.location; - protocol = other8.protocol; +EnvironmentSetupTaskModel& EnvironmentSetupTaskModel::operator=(const EnvironmentSetupTaskModel& other14) { + location = other14.location; + protocol = other14.protocol; return *this; } std::ostream& operator<<(std::ostream& out, const EnvironmentSetupTaskModel& obj) { @@ -745,9 +787,9 @@ uint32_t JobSubmissionTaskModel::read(::apache::thrift::protocol::TProtocol* ipr { case 1: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast9; - xfer += iprot->readI32(ecast9); - this->jobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast9; + int32_t ecast15; + xfer += iprot->readI32(ecast15); + this->jobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast15; isset_jobSubmissionProtocol = true; } else { xfer += iprot->skip(ftype); @@ -755,9 +797,9 @@ uint32_t JobSubmissionTaskModel::read(::apache::thrift::protocol::TProtocol* ipr break; case 2: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast10; - xfer += iprot->readI32(ecast10); - this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast10; + int32_t ecast16; + xfer += iprot->readI32(ecast16); + this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast16; isset_monitorMode = true; } else { xfer += iprot->skip(ftype); @@ -819,17 +861,17 @@ void swap(JobSubmissionTaskModel &a, JobSubmissionTaskModel &b) { swap(a.__isset, b.__isset); } -JobSubmissionTaskModel::JobSubmissionTaskModel(const JobSubmissionTaskModel& other11) { - jobSubmissionProtocol = other11.jobSubmissionProtocol; - monitorMode = other11.monitorMode; - wallTime = other11.wallTime; - __isset = other11.__isset; +JobSubmissionTaskModel::JobSubmissionTaskModel(const JobSubmissionTaskModel& other17) { + jobSubmissionProtocol = other17.jobSubmissionProtocol; + monitorMode = other17.monitorMode; + wallTime = other17.wallTime; + __isset = other17.__isset; } -JobSubmissionTaskModel& JobSubmissionTaskModel::operator=(const JobSubmissionTaskModel& other12) { - jobSubmissionProtocol = other12.jobSubmissionProtocol; - monitorMode = other12.monitorMode; - wallTime = other12.wallTime; - __isset = other12.__isset; +JobSubmissionTaskModel& JobSubmissionTaskModel::operator=(const JobSubmissionTaskModel& other18) { + jobSubmissionProtocol = other18.jobSubmissionProtocol; + monitorMode = other18.monitorMode; + wallTime = other18.wallTime; + __isset = other18.__isset; return *this; } std::ostream& operator<<(std::ostream& out, const JobSubmissionTaskModel& obj) { @@ -877,9 +919,9 @@ uint32_t MonitorTaskModel::read(::apache::thrift::protocol::TProtocol* iprot) { { case 1: if (ftype == ::apache::thrift::protocol::T_I32) { - int32_t ecast13; - xfer += iprot->readI32(ecast13); - this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast13; + int32_t ecast19; + xfer += iprot->readI32(ecast19); + this->monitorMode = ( ::apache::airavata::model::appcatalog::computeresource::MonitorMode::type)ecast19; isset_monitorMode = true; } else { xfer += iprot->skip(ftype); @@ -919,11 +961,11 @@ void swap(MonitorTaskModel &a, MonitorTaskModel &b) { swap(a.monitorMode, b.monitorMode); } -MonitorTaskModel::MonitorTaskModel(const MonitorTaskModel& other14) { - monitorMode = other14.monitorMode; +MonitorTaskModel::MonitorTaskModel(const MonitorTaskModel& other20) { + monitorMode = other20.monitorMode; } -MonitorTaskModel& MonitorTaskModel::operator=(const MonitorTaskModel& other15) { - monitorMode = other15.monitorMode; +MonitorTaskModel& MonitorTaskModel::operator=(const MonitorTaskModel& other21) { + monitorMode = other21.monitorMode; return *this; } std::ostream& operator<<(std::ostream& out, const MonitorTaskModel& obj) { http://git-wip-us.apache.org/repos/asf/airavata/blob/4f7af6a9/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h index 7be9392..80a501f 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/task_model_types.h @@ -36,6 +36,7 @@ #include "status_models_types.h" #include "compute_resource_model_types.h" #include "application_io_models_types.h" +#include "job_model_types.h" namespace apache { namespace airavata { namespace model { namespace task { @@ -73,17 +74,18 @@ class JobSubmissionTaskModel; class MonitorTaskModel; typedef struct _TaskModel__isset { - _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false) {} + _TaskModel__isset() : taskDetail(false), subTaskModel(false), taskError(false), jobs(false) {} bool taskDetail :1; bool subTaskModel :1; bool taskError :1; + bool jobs :1; } _TaskModel__isset; class TaskModel { public: - static const char* ascii_fingerprint; // = "CE3A1BEFC350140F2B4D2EF1424A7C4F"; - static const uint8_t binary_fingerprint[16]; // = {0xCE,0x3A,0x1B,0xEF,0xC3,0x50,0x14,0x0F,0x2B,0x4D,0x2E,0xF1,0x42,0x4A,0x7C,0x4F}; + static const char* ascii_fingerprint; // = "BA52131C9C867CBF7281F29EDD7DDB6F"; + static const uint8_t binary_fingerprint[16]; // = {0xBA,0x52,0x13,0x1C,0x9C,0x86,0x7C,0xBF,0x72,0x81,0xF2,0x9E,0xDD,0x7D,0xDB,0x6F}; TaskModel(const TaskModel&); TaskModel& operator=(const TaskModel&); @@ -100,6 +102,7 @@ class TaskModel { std::string taskDetail; std::string subTaskModel; ::apache::airavata::model::commons::ErrorModel taskError; + std::vector< ::apache::airavata::model::job::JobModel> jobs; _TaskModel__isset __isset; @@ -121,6 +124,8 @@ class TaskModel { void __set_taskError(const ::apache::airavata::model::commons::ErrorModel& val); + void __set_jobs(const std::vector< ::apache::airavata::model::job::JobModel> & val); + bool operator == (const TaskModel & rhs) const { if (!(taskId == rhs.taskId)) @@ -147,6 +152,10 @@ class TaskModel { return false; else if (__isset.taskError && !(taskError == rhs.taskError)) return false; + if (__isset.jobs != rhs.__isset.jobs) + return false; + else if (__isset.jobs && !(jobs == rhs.jobs)) + return false; return true; } bool operator != (const TaskModel &rhs) const {
