http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java index a9d9e4e..5f362c6 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java index 90dbb29..0a10fda 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java index 0fa315e..766e0e2 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java index 43e35ea..83c848a 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java index 22d9de7..a69dfeb 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java index 3b94c24..4a2961c 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java index fee69c1..2e2c013 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java index 1acaf2b..5979c77 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java index 8353f9b..276a7bd 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java @@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory; * * */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java index 157e365..d9dd815 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java @@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory; * * */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java index 464d042..880ebed 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java index 709cdfb..0bdffae 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java @@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory; * User friendly reason on how the state is inferred. * */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java index 2f59f9f..d3e8fef 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java index b1974e4..edc3265 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java index 702a44c..acc5cb5 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java index 7a01918..903bfeb 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java @@ -58,7 +58,7 @@ import org.slf4j.LoggerFactory; * A friendly description of the task, usally used to communicate information to users. * */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java index 7342baf..a96ab68 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java @@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory; * subTaskModel: * A generic byte object for the Task developer to store internal serialized data into registry catalogs. */ -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java index 34a3d57..4e7e305 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java index 12533c1..f2a861c 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java index 3cdb809..7bf00ba 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java index 078f510..5bd5072 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java @@ -51,7 +51,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java b/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java index e1e67d1..09dc50e 100644 --- a/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java +++ b/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java @@ -50,7 +50,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-8") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-10-12") public class OrchestratorService { public interface Iface { @@ -104,6 +104,8 @@ public class OrchestratorService { */ public boolean validateExperiment(String experimentId) throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException; + public boolean validateProcess(String experimentId, List<org.apache.airavata.model.process.ProcessModel> processes) throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException; + /** * * * * Terminate the running experiment. @@ -130,6 +132,8 @@ public class OrchestratorService { public void validateExperiment(String experimentId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void validateProcess(String experimentId, List<org.apache.airavata.model.process.ProcessModel> processes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; + public void terminateExperiment(String experimentId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException; } @@ -250,6 +254,33 @@ public class OrchestratorService { throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateExperiment failed: unknown result"); } + public boolean validateProcess(String experimentId, List<org.apache.airavata.model.process.ProcessModel> processes) throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException + { + send_validateProcess(experimentId, processes); + return recv_validateProcess(); + } + + public void send_validateProcess(String experimentId, List<org.apache.airavata.model.process.ProcessModel> processes) throws org.apache.thrift.TException + { + validateProcess_args args = new validateProcess_args(); + args.setExperimentId(experimentId); + args.setProcesses(processes); + sendBase("validateProcess", args); + } + + public boolean recv_validateProcess() throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException + { + validateProcess_result result = new validateProcess_result(); + receiveBase(result, "validateProcess"); + if (result.isSetSuccess()) { + return result.success; + } + if (result.lve != null) { + throw result.lve; + } + throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateProcess failed: unknown result"); + } + public boolean terminateExperiment(String experimentId, String gatewayId) throws org.apache.thrift.TException { send_terminateExperiment(experimentId, gatewayId); @@ -423,6 +454,41 @@ public class OrchestratorService { } } + public void validateProcess(String experimentId, List<org.apache.airavata.model.process.ProcessModel> processes, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { + checkReady(); + validateProcess_call method_call = new validateProcess_call(experimentId, processes, resultHandler, this, ___protocolFactory, ___transport); + this.___currentMethod = method_call; + ___manager.call(method_call); + } + + public static class validateProcess_call extends org.apache.thrift.async.TAsyncMethodCall { + private String experimentId; + private List<org.apache.airavata.model.process.ProcessModel> processes; + public validateProcess_call(String experimentId, List<org.apache.airavata.model.process.ProcessModel> processes, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException { + super(client, protocolFactory, transport, resultHandler, false); + this.experimentId = experimentId; + this.processes = processes; + } + + public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException { + prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateProcess", org.apache.thrift.protocol.TMessageType.CALL, 0)); + validateProcess_args args = new validateProcess_args(); + args.setExperimentId(experimentId); + args.setProcesses(processes); + args.write(prot); + prot.writeMessageEnd(); + } + + public boolean getResult() throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException { + if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) { + throw new IllegalStateException("Method call not finished!"); + } + org.apache.thrift.transport.TMemoryInputTransport memoryTransport = new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array()); + org.apache.thrift.protocol.TProtocol prot = client.getProtocolFactory().getProtocol(memoryTransport); + return (new Client(prot)).recv_validateProcess(); + } + } + public void terminateExperiment(String experimentId, String gatewayId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException { checkReady(); terminateExperiment_call method_call = new terminateExperiment_call(experimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport); @@ -475,6 +541,7 @@ public class OrchestratorService { processMap.put("launchExperiment", new launchExperiment()); processMap.put("launchProcess", new launchProcess()); processMap.put("validateExperiment", new validateExperiment()); + processMap.put("validateProcess", new validateProcess()); processMap.put("terminateExperiment", new terminateExperiment()); return processMap; } @@ -566,6 +633,31 @@ public class OrchestratorService { } } + public static class validateProcess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, validateProcess_args> { + public validateProcess() { + super("validateProcess"); + } + + public validateProcess_args getEmptyArgsInstance() { + return new validateProcess_args(); + } + + protected boolean isOneway() { + return false; + } + + public validateProcess_result getResult(I iface, validateProcess_args args) throws org.apache.thrift.TException { + validateProcess_result result = new validateProcess_result(); + try { + result.success = iface.validateProcess(args.experimentId, args.processes); + result.setSuccessIsSet(true); + } catch (org.apache.airavata.model.error.LaunchValidationException lve) { + result.lve = lve; + } + return result; + } + } + public static class terminateExperiment<I extends Iface> extends org.apache.thrift.ProcessFunction<I, terminateExperiment_args> { public terminateExperiment() { super("terminateExperiment"); @@ -604,6 +696,7 @@ public class OrchestratorService { processMap.put("launchExperiment", new launchExperiment()); processMap.put("launchProcess", new launchProcess()); processMap.put("validateExperiment", new validateExperiment()); + processMap.put("validateProcess", new validateProcess()); processMap.put("terminateExperiment", new terminateExperiment()); return processMap; } @@ -821,6 +914,64 @@ public class OrchestratorService { } } + public static class validateProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, validateProcess_args, Boolean> { + public validateProcess() { + super("validateProcess"); + } + + public validateProcess_args getEmptyArgsInstance() { + return new validateProcess_args(); + } + + public AsyncMethodCallback<Boolean> getResultHandler(final AsyncFrameBuffer fb, final int seqid) { + final org.apache.thrift.AsyncProcessFunction fcall = this; + return new AsyncMethodCallback<Boolean>() { + public void onComplete(Boolean o) { + validateProcess_result result = new validateProcess_result(); + result.success = o; + result.setSuccessIsSet(true); + try { + fcall.sendResponse(fb,result, org.apache.thrift.protocol.TMessageType.REPLY,seqid); + return; + } catch (Exception e) { + LOGGER.error("Exception writing to internal frame buffer", e); + } + fb.close(); + } + public void onError(Exception e) { + byte msgType = org.apache.thrift.protocol.TMessageType.REPLY; + org.apache.thrift.TBase msg; + validateProcess_result result = new validateProcess_result(); + if (e instanceof org.apache.airavata.model.error.LaunchValidationException) { + result.lve = (org.apache.airavata.model.error.LaunchValidationException) e; + result.setLveIsSet(true); + msg = result; + } + else + { + msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION; + msg = (org.apache.thrift.TBase)new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage()); + } + try { + fcall.sendResponse(fb,msg,msgType,seqid); + return; + } catch (Exception ex) { + LOGGER.error("Exception writing to internal frame buffer", ex); + } + fb.close(); + } + }; + } + + protected boolean isOneway() { + return false; + } + + public void start(I iface, validateProcess_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException { + iface.validateProcess(args.experimentId, args.processes,resultHandler); + } + } + public static class terminateExperiment<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, terminateExperiment_args, Boolean> { public terminateExperiment() { super("terminateExperiment"); @@ -3938,6 +4089,983 @@ public class OrchestratorService { } + public static class validateProcess_args implements org.apache.thrift.TBase<validateProcess_args, validateProcess_args._Fields>, java.io.Serializable, Cloneable, Comparable<validateProcess_args> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateProcess_args"); + + private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)1); + private static final org.apache.thrift.protocol.TField PROCESSES_FIELD_DESC = new org.apache.thrift.protocol.TField("processes", org.apache.thrift.protocol.TType.LIST, (short)2); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new validateProcess_argsStandardSchemeFactory()); + schemes.put(TupleScheme.class, new validateProcess_argsTupleSchemeFactory()); + } + + public String experimentId; // required + public List<org.apache.airavata.model.process.ProcessModel> processes; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + EXPERIMENT_ID((short)1, "experimentId"), + PROCESSES((short)2, "processes"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 1: // EXPERIMENT_ID + return EXPERIMENT_ID; + case 2: // PROCESSES + return PROCESSES; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); + tmpMap.put(_Fields.PROCESSES, new org.apache.thrift.meta_data.FieldMetaData("processes", org.apache.thrift.TFieldRequirementType.REQUIRED, + new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, + new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.process.ProcessModel.class)))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateProcess_args.class, metaDataMap); + } + + public validateProcess_args() { + } + + public validateProcess_args( + String experimentId, + List<org.apache.airavata.model.process.ProcessModel> processes) + { + this(); + this.experimentId = experimentId; + this.processes = processes; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public validateProcess_args(validateProcess_args other) { + if (other.isSetExperimentId()) { + this.experimentId = other.experimentId; + } + if (other.isSetProcesses()) { + List<org.apache.airavata.model.process.ProcessModel> __this__processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(other.processes.size()); + for (org.apache.airavata.model.process.ProcessModel other_element : other.processes) { + __this__processes.add(new org.apache.airavata.model.process.ProcessModel(other_element)); + } + this.processes = __this__processes; + } + } + + public validateProcess_args deepCopy() { + return new validateProcess_args(this); + } + + @Override + public void clear() { + this.experimentId = null; + this.processes = null; + } + + public String getExperimentId() { + return this.experimentId; + } + + public validateProcess_args setExperimentId(String experimentId) { + this.experimentId = experimentId; + return this; + } + + public void unsetExperimentId() { + this.experimentId = null; + } + + /** Returns true if field experimentId is set (has been assigned a value) and false otherwise */ + public boolean isSetExperimentId() { + return this.experimentId != null; + } + + public void setExperimentIdIsSet(boolean value) { + if (!value) { + this.experimentId = null; + } + } + + public int getProcessesSize() { + return (this.processes == null) ? 0 : this.processes.size(); + } + + public java.util.Iterator<org.apache.airavata.model.process.ProcessModel> getProcessesIterator() { + return (this.processes == null) ? null : this.processes.iterator(); + } + + public void addToProcesses(org.apache.airavata.model.process.ProcessModel elem) { + if (this.processes == null) { + this.processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(); + } + this.processes.add(elem); + } + + public List<org.apache.airavata.model.process.ProcessModel> getProcesses() { + return this.processes; + } + + public validateProcess_args setProcesses(List<org.apache.airavata.model.process.ProcessModel> processes) { + this.processes = processes; + return this; + } + + public void unsetProcesses() { + this.processes = null; + } + + /** Returns true if field processes is set (has been assigned a value) and false otherwise */ + public boolean isSetProcesses() { + return this.processes != null; + } + + public void setProcessesIsSet(boolean value) { + if (!value) { + this.processes = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case EXPERIMENT_ID: + if (value == null) { + unsetExperimentId(); + } else { + setExperimentId((String)value); + } + break; + + case PROCESSES: + if (value == null) { + unsetProcesses(); + } else { + setProcesses((List<org.apache.airavata.model.process.ProcessModel>)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case EXPERIMENT_ID: + return getExperimentId(); + + case PROCESSES: + return getProcesses(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case EXPERIMENT_ID: + return isSetExperimentId(); + case PROCESSES: + return isSetProcesses(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof validateProcess_args) + return this.equals((validateProcess_args)that); + return false; + } + + public boolean equals(validateProcess_args that) { + if (that == null) + return false; + + boolean this_present_experimentId = true && this.isSetExperimentId(); + boolean that_present_experimentId = true && that.isSetExperimentId(); + if (this_present_experimentId || that_present_experimentId) { + if (!(this_present_experimentId && that_present_experimentId)) + return false; + if (!this.experimentId.equals(that.experimentId)) + return false; + } + + boolean this_present_processes = true && this.isSetProcesses(); + boolean that_present_processes = true && that.isSetProcesses(); + if (this_present_processes || that_present_processes) { + if (!(this_present_processes && that_present_processes)) + return false; + if (!this.processes.equals(that.processes)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_experimentId = true && (isSetExperimentId()); + list.add(present_experimentId); + if (present_experimentId) + list.add(experimentId); + + boolean present_processes = true && (isSetProcesses()); + list.add(present_processes); + if (present_processes) + list.add(processes); + + return list.hashCode(); + } + + @Override + public int compareTo(validateProcess_args other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetExperimentId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentId, other.experimentId); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetProcesses()).compareTo(other.isSetProcesses()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetProcesses()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processes, other.processes); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("validateProcess_args("); + boolean first = true; + + sb.append("experimentId:"); + if (this.experimentId == null) { + sb.append("null"); + } else { + sb.append(this.experimentId); + } + first = false; + if (!first) sb.append(", "); + sb.append("processes:"); + if (this.processes == null) { + sb.append("null"); + } else { + sb.append(this.processes); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + if (experimentId == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentId' was not present! Struct: " + toString()); + } + if (processes == null) { + throw new org.apache.thrift.protocol.TProtocolException("Required field 'processes' was not present! Struct: " + toString()); + } + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class validateProcess_argsStandardSchemeFactory implements SchemeFactory { + public validateProcess_argsStandardScheme getScheme() { + return new validateProcess_argsStandardScheme(); + } + } + + private static class validateProcess_argsStandardScheme extends StandardScheme<validateProcess_args> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, validateProcess_args struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 1: // EXPERIMENT_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.experimentId = iprot.readString(); + struct.setExperimentIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 2: // PROCESSES + if (schemeField.type == org.apache.thrift.protocol.TType.LIST) { + { + org.apache.thrift.protocol.TList _list0 = iprot.readListBegin(); + struct.processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(_list0.size); + org.apache.airavata.model.process.ProcessModel _elem1; + for (int _i2 = 0; _i2 < _list0.size; ++_i2) + { + _elem1 = new org.apache.airavata.model.process.ProcessModel(); + _elem1.read(iprot); + struct.processes.add(_elem1); + } + iprot.readListEnd(); + } + struct.setProcessesIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, validateProcess_args struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.experimentId != null) { + oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC); + oprot.writeString(struct.experimentId); + oprot.writeFieldEnd(); + } + if (struct.processes != null) { + oprot.writeFieldBegin(PROCESSES_FIELD_DESC); + { + oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.processes.size())); + for (org.apache.airavata.model.process.ProcessModel _iter3 : struct.processes) + { + _iter3.write(oprot); + } + oprot.writeListEnd(); + } + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class validateProcess_argsTupleSchemeFactory implements SchemeFactory { + public validateProcess_argsTupleScheme getScheme() { + return new validateProcess_argsTupleScheme(); + } + } + + private static class validateProcess_argsTupleScheme extends TupleScheme<validateProcess_args> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, validateProcess_args struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + oprot.writeString(struct.experimentId); + { + oprot.writeI32(struct.processes.size()); + for (org.apache.airavata.model.process.ProcessModel _iter4 : struct.processes) + { + _iter4.write(oprot); + } + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, validateProcess_args struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + struct.experimentId = iprot.readString(); + struct.setExperimentIdIsSet(true); + { + org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32()); + struct.processes = new ArrayList<org.apache.airavata.model.process.ProcessModel>(_list5.size); + org.apache.airavata.model.process.ProcessModel _elem6; + for (int _i7 = 0; _i7 < _list5.size; ++_i7) + { + _elem6 = new org.apache.airavata.model.process.ProcessModel(); + _elem6.read(iprot); + struct.processes.add(_elem6); + } + } + struct.setProcessesIsSet(true); + } + } + + } + + public static class validateProcess_result implements org.apache.thrift.TBase<validateProcess_result, validateProcess_result._Fields>, java.io.Serializable, Cloneable, Comparable<validateProcess_result> { + private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateProcess_result"); + + private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0); + private static final org.apache.thrift.protocol.TField LVE_FIELD_DESC = new org.apache.thrift.protocol.TField("lve", org.apache.thrift.protocol.TType.STRUCT, (short)1); + + private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); + static { + schemes.put(StandardScheme.class, new validateProcess_resultStandardSchemeFactory()); + schemes.put(TupleScheme.class, new validateProcess_resultTupleSchemeFactory()); + } + + public boolean success; // required + public org.apache.airavata.model.error.LaunchValidationException lve; // required + + /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ + public enum _Fields implements org.apache.thrift.TFieldIdEnum { + SUCCESS((short)0, "success"), + LVE((short)1, "lve"); + + private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); + + static { + for (_Fields field : EnumSet.allOf(_Fields.class)) { + byName.put(field.getFieldName(), field); + } + } + + /** + * Find the _Fields constant that matches fieldId, or null if its not found. + */ + public static _Fields findByThriftId(int fieldId) { + switch(fieldId) { + case 0: // SUCCESS + return SUCCESS; + case 1: // LVE + return LVE; + default: + return null; + } + } + + /** + * Find the _Fields constant that matches fieldId, throwing an exception + * if it is not found. + */ + public static _Fields findByThriftIdOrThrow(int fieldId) { + _Fields fields = findByThriftId(fieldId); + if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!"); + return fields; + } + + /** + * Find the _Fields constant that matches name, or null if its not found. + */ + public static _Fields findByName(String name) { + return byName.get(name); + } + + private final short _thriftId; + private final String _fieldName; + + _Fields(short thriftId, String fieldName) { + _thriftId = thriftId; + _fieldName = fieldName; + } + + public short getThriftFieldId() { + return _thriftId; + } + + public String getFieldName() { + return _fieldName; + } + } + + // isset id assignments + private static final int __SUCCESS_ISSET_ID = 0; + private byte __isset_bitfield = 0; + public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap; + static { + Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class); + tmpMap.put(_Fields.SUCCESS, new org.apache.thrift.meta_data.FieldMetaData("success", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.LVE, new org.apache.thrift.meta_data.FieldMetaData("lve", org.apache.thrift.TFieldRequirementType.DEFAULT, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT))); + metaDataMap = Collections.unmodifiableMap(tmpMap); + org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(validateProcess_result.class, metaDataMap); + } + + public validateProcess_result() { + } + + public validateProcess_result( + boolean success, + org.apache.airavata.model.error.LaunchValidationException lve) + { + this(); + this.success = success; + setSuccessIsSet(true); + this.lve = lve; + } + + /** + * Performs a deep copy on <i>other</i>. + */ + public validateProcess_result(validateProcess_result other) { + __isset_bitfield = other.__isset_bitfield; + this.success = other.success; + if (other.isSetLve()) { + this.lve = new org.apache.airavata.model.error.LaunchValidationException(other.lve); + } + } + + public validateProcess_result deepCopy() { + return new validateProcess_result(this); + } + + @Override + public void clear() { + setSuccessIsSet(false); + this.success = false; + this.lve = null; + } + + public boolean isSuccess() { + return this.success; + } + + public validateProcess_result setSuccess(boolean success) { + this.success = success; + setSuccessIsSet(true); + return this; + } + + public void unsetSuccess() { + __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + /** Returns true if field success is set (has been assigned a value) and false otherwise */ + public boolean isSetSuccess() { + return EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID); + } + + public void setSuccessIsSet(boolean value) { + __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value); + } + + public org.apache.airavata.model.error.LaunchValidationException getLve() { + return this.lve; + } + + public validateProcess_result setLve(org.apache.airavata.model.error.LaunchValidationException lve) { + this.lve = lve; + return this; + } + + public void unsetLve() { + this.lve = null; + } + + /** Returns true if field lve is set (has been assigned a value) and false otherwise */ + public boolean isSetLve() { + return this.lve != null; + } + + public void setLveIsSet(boolean value) { + if (!value) { + this.lve = null; + } + } + + public void setFieldValue(_Fields field, Object value) { + switch (field) { + case SUCCESS: + if (value == null) { + unsetSuccess(); + } else { + setSuccess((Boolean)value); + } + break; + + case LVE: + if (value == null) { + unsetLve(); + } else { + setLve((org.apache.airavata.model.error.LaunchValidationException)value); + } + break; + + } + } + + public Object getFieldValue(_Fields field) { + switch (field) { + case SUCCESS: + return Boolean.valueOf(isSuccess()); + + case LVE: + return getLve(); + + } + throw new IllegalStateException(); + } + + /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */ + public boolean isSet(_Fields field) { + if (field == null) { + throw new IllegalArgumentException(); + } + + switch (field) { + case SUCCESS: + return isSetSuccess(); + case LVE: + return isSetLve(); + } + throw new IllegalStateException(); + } + + @Override + public boolean equals(Object that) { + if (that == null) + return false; + if (that instanceof validateProcess_result) + return this.equals((validateProcess_result)that); + return false; + } + + public boolean equals(validateProcess_result that) { + if (that == null) + return false; + + boolean this_present_success = true; + boolean that_present_success = true; + if (this_present_success || that_present_success) { + if (!(this_present_success && that_present_success)) + return false; + if (this.success != that.success) + return false; + } + + boolean this_present_lve = true && this.isSetLve(); + boolean that_present_lve = true && that.isSetLve(); + if (this_present_lve || that_present_lve) { + if (!(this_present_lve && that_present_lve)) + return false; + if (!this.lve.equals(that.lve)) + return false; + } + + return true; + } + + @Override + public int hashCode() { + List<Object> list = new ArrayList<Object>(); + + boolean present_success = true; + list.add(present_success); + if (present_success) + list.add(success); + + boolean present_lve = true && (isSetLve()); + list.add(present_lve); + if (present_lve) + list.add(lve); + + return list.hashCode(); + } + + @Override + public int compareTo(validateProcess_result other) { + if (!getClass().equals(other.getClass())) { + return getClass().getName().compareTo(other.getClass().getName()); + } + + int lastComparison = 0; + + lastComparison = Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetSuccess()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, other.success); + if (lastComparison != 0) { + return lastComparison; + } + } + lastComparison = Boolean.valueOf(isSetLve()).compareTo(other.isSetLve()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetLve()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.lve, other.lve); + if (lastComparison != 0) { + return lastComparison; + } + } + return 0; + } + + public _Fields fieldForId(int fieldId) { + return _Fields.findByThriftId(fieldId); + } + + public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException { + schemes.get(iprot.getScheme()).getScheme().read(iprot, this); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException { + schemes.get(oprot.getScheme()).getScheme().write(oprot, this); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder("validateProcess_result("); + boolean first = true; + + sb.append("success:"); + sb.append(this.success); + first = false; + if (!first) sb.append(", "); + sb.append("lve:"); + if (this.lve == null) { + sb.append("null"); + } else { + sb.append(this.lve); + } + first = false; + sb.append(")"); + return sb.toString(); + } + + public void validate() throws org.apache.thrift.TException { + // check for required fields + // check for sub-struct validity + } + + private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { + try { + write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException { + try { + // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor. + __isset_bitfield = 0; + read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in))); + } catch (org.apache.thrift.TException te) { + throw new java.io.IOException(te); + } + } + + private static class validateProcess_resultStandardSchemeFactory implements SchemeFactory { + public validateProcess_resultStandardScheme getScheme() { + return new validateProcess_resultStandardScheme(); + } + } + + private static class validateProcess_resultStandardScheme extends StandardScheme<validateProcess_result> { + + public void read(org.apache.thrift.protocol.TProtocol iprot, validateProcess_result struct) throws org.apache.thrift.TException { + org.apache.thrift.protocol.TField schemeField; + iprot.readStructBegin(); + while (true) + { + schemeField = iprot.readFieldBegin(); + if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { + break; + } + switch (schemeField.id) { + case 0: // SUCCESS + if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + case 1: // LVE + if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) { + struct.lve = new org.apache.airavata.model.error.LaunchValidationException(); + struct.lve.read(iprot); + struct.setLveIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; + default: + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + iprot.readFieldEnd(); + } + iprot.readStructEnd(); + + // check for required fields of primitive type, which can't be checked in the validate method + struct.validate(); + } + + public void write(org.apache.thrift.protocol.TProtocol oprot, validateProcess_result struct) throws org.apache.thrift.TException { + struct.validate(); + + oprot.writeStructBegin(STRUCT_DESC); + if (struct.isSetSuccess()) { + oprot.writeFieldBegin(SUCCESS_FIELD_DESC); + oprot.writeBool(struct.success); + oprot.writeFieldEnd(); + } + if (struct.lve != null) { + oprot.writeFieldBegin(LVE_FIELD_DESC); + struct.lve.write(oprot); + oprot.writeFieldEnd(); + } + oprot.writeFieldStop(); + oprot.writeStructEnd(); + } + + } + + private static class validateProcess_resultTupleSchemeFactory implements SchemeFactory { + public validateProcess_resultTupleScheme getScheme() { + return new validateProcess_resultTupleScheme(); + } + } + + private static class validateProcess_resultTupleScheme extends TupleScheme<validateProcess_result> { + + @Override + public void write(org.apache.thrift.protocol.TProtocol prot, validateProcess_result struct) throws org.apache.thrift.TException { + TTupleProtocol oprot = (TTupleProtocol) prot; + BitSet optionals = new BitSet(); + if (struct.isSetSuccess()) { + optionals.set(0); + } + if (struct.isSetLve()) { + optionals.set(1); + } + oprot.writeBitSet(optionals, 2); + if (struct.isSetSuccess()) { + oprot.writeBool(struct.success); + } + if (struct.isSetLve()) { + struct.lve.write(oprot); + } + } + + @Override + public void read(org.apache.thrift.protocol.TProtocol prot, validateProcess_result struct) throws org.apache.thrift.TException { + TTupleProtocol iprot = (TTupleProtocol) prot; + BitSet incoming = iprot.readBitSet(2); + if (incoming.get(0)) { + struct.success = iprot.readBool(); + struct.setSuccessIsSet(true); + } + if (incoming.get(1)) { + struct.lve = new org.apache.airavata.model.error.LaunchValidationException(); + struct.lve.read(iprot); + struct.setLveIsSet(true); + } + } + } + + } + public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_args"); http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java index 8121d3b..f182bd0 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/context/OrchestratorContext.java @@ -20,10 +20,6 @@ */ package org.apache.airavata.orchestrator.core.context; -import java.util.ArrayList; -import java.util.List; - -import org.apache.airavata.gfac.client.GFACInstance; import org.apache.airavata.messaging.core.Publisher; import org.apache.airavata.orchestrator.core.OrchestratorConfiguration; import org.apache.airavata.registry.cpi.Registry; http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java index b210a2a..231118c 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/validator/impl/BatchQueueValidator.java @@ -82,7 +82,13 @@ public class BatchQueueValidator implements JobMetadataValidator { validatorResult.setResult(false); validatorResultList.add(validatorResult); } - ComputeResourceDescription computeResource = appCatalog.getComputeResource().getComputeResource(processModel.getResourceSchedule().getResourceHostId()); + ComputeResourceDescription computeResource; + if (processModel == null){ + computeResource = appCatalog.getComputeResource().getComputeResource(experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId()); + }else { + computeResource = appCatalog.getComputeResource().getComputeResource(processModel.getResourceSchedule().getResourceHostId()); + + } List<BatchQueue> batchQueues = computeResource.getBatchQueues(); if (batchQueues != null && !batchQueues.isEmpty()) { http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java index 76fb3e5..f05f689 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/Orchestrator.java @@ -35,19 +35,31 @@ public interface Orchestrator { /** * This method can be used to run all custom validators plugged in to the orchestrator and make * sure the experiment is ready to launch and if its not this will return false + * + * @param experiment + * @return boolean if the experiment is valid after executing all the validators return true otherwise it will return false + * @throws OrchestratorException + */ + ValidationResults validateExperiment(ExperimentModel experiment) throws OrchestratorException, LaunchValidationException; + + /** + * This method can be used to run all custom validators plugged in to the orchestrator and make + * sure the experiment is ready to launch and if its not this will return false + * * @param experiment * @param processModel - * @return boolean if the experiments are valids after executing all the validators return true otherwise it iwll return false + * @return boolean if the process is valid after executing all the validators return true otherwise it will return false * @throws OrchestratorException */ - ValidationResults validateExperiment(ExperimentModel experiment, ProcessModel processModel) throws OrchestratorException,LaunchValidationException; + ValidationResults validateProcess(ExperimentModel experiment, ProcessModel processModel) throws OrchestratorException, LaunchValidationException; + /** * After creating the experiment Data user have the * experimentID as the handler to the experiment, during the launchProcess * We just have to give the experimentID * * @param processModel - Process model created for this process. - * @param tokenId - token id for this request. + * @param tokenId - token id for this request. * @return launchProcess status * @throws OrchestratorException */ http://git-wip-us.apache.org/repos/asf/airavata/blob/62930694/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java index cf220e4..c0fcd70 100644 --- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java +++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java @@ -20,12 +20,16 @@ */ package org.apache.airavata.orchestrator.cpi.impl; +import org.apache.airavata.model.appcatalog.computeresource.BatchQueue; +import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription; import org.apache.airavata.model.commons.ErrorModel; import org.apache.airavata.model.error.LaunchValidationException; import org.apache.airavata.model.error.ValidationResults; import org.apache.airavata.model.error.ValidatorResult; import org.apache.airavata.model.process.ProcessModel; import org.apache.airavata.model.experiment.*; +import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel; +import org.apache.airavata.model.task.TaskModel; import org.apache.airavata.model.util.ExperimentModelUtil; import org.apache.airavata.orchestrator.core.exception.OrchestratorException; import org.apache.airavata.orchestrator.core.impl.GFACPassiveJobSubmitter; @@ -75,7 +79,66 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{ } } - public ValidationResults validateExperiment(ExperimentModel experiment, ProcessModel processModel) throws OrchestratorException,LaunchValidationException { + public ValidationResults validateExperiment(ExperimentModel experiment) throws OrchestratorException,LaunchValidationException { + org.apache.airavata.model.error.ValidationResults validationResults = new org.apache.airavata.model.error.ValidationResults(); + validationResults.setValidationState(true); // initially making it to success, if atleast one failed them simply mark it failed. + String errorMsg = "Validation Errors : "; + if (this.orchestratorConfiguration.isEnableValidation()) { + List<String> validatorClasses = this.orchestratorContext.getOrchestratorConfiguration().getValidatorClasses(); + for (String validator : validatorClasses) { + try { + Class<? extends JobMetadataValidator> vClass = Class.forName(validator.trim()).asSubclass(JobMetadataValidator.class); + JobMetadataValidator jobMetadataValidator = vClass.newInstance(); + validationResults = jobMetadataValidator.validate(experiment, null); + if (validationResults.isValidationState()) { + logger.info("Validation of " + validator + " is SUCCESSFUL"); + } else { + List<ValidatorResult> validationResultList = validationResults.getValidationResultList(); + for (ValidatorResult result : validationResultList){ + if (!result.isResult()){ + String validationError = result.getErrorDetails(); + if (validationError != null){ + errorMsg += validationError + " "; + } + } + } + logger.error("Validation of " + validator + " for experiment Id " + experiment.getExperimentId() + " is FAILED:[error]. " + errorMsg); + validationResults.setValidationState(false); + try { + ErrorModel details = new ErrorModel(); + details.setActualErrorMessage(errorMsg); + details.setCreationTime(Calendar.getInstance().getTimeInMillis()); + orchestratorContext.getRegistry().getExperimentCatalog().add(ExpCatChildDataType.EXPERIMENT_ERROR, details, + experiment.getExperimentId()); + } catch (RegistryException e) { + logger.error("Error while saving error details to registry", e); + } + break; + } + } catch (ClassNotFoundException e) { + logger.error("Error loading the validation class: ", validator, e); + validationResults.setValidationState(false); + } catch (InstantiationException e) { + logger.error("Error loading the validation class: ", validator, e); + validationResults.setValidationState(false); + } catch (IllegalAccessException e) { + logger.error("Error loading the validation class: ", validator, e); + validationResults.setValidationState(false); + } + } + } + if(validationResults.isValidationState()){ + return validationResults; + }else { + //atleast one validation has failed, so we throw an exception + LaunchValidationException launchValidationException = new LaunchValidationException(); + launchValidationException.setValidationResult(validationResults); + launchValidationException.setErrorMessage("Validation failed refer the validationResults list for detail error. Validation errors : " + errorMsg); + throw launchValidationException; + } + } + + public ValidationResults validateProcess(ExperimentModel experiment, ProcessModel processModel) throws OrchestratorException,LaunchValidationException { org.apache.airavata.model.error.ValidationResults validationResults = new org.apache.airavata.model.error.ValidationResults(); validationResults.setValidationState(true); // initially making it to success, if atleast one failed them simply mark it failed. String errorMsg = "Validation Errors : "; @@ -134,6 +197,7 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{ } } + public void cancelExperiment(ExperimentModel experiment, ProcessModel processModel, String tokenId) throws OrchestratorException { // FIXME @@ -193,4 +257,37 @@ public class SimpleOrchestratorImpl extends AbstractOrchestrator{ return processModels; } + public List<TaskModel> createTasks (String experimentId, String processId) throws OrchestratorException { + List<TaskModel> taskModels = new ArrayList<TaskModel>(); + try { + ExperimentCatalog experimentCatalog = orchestratorContext.getRegistry().getExperimentCatalog(); + AppCatalog appCatalog = orchestratorContext.getRegistry().getAppCatalog(); + ExperimentModel experimentModel = (ExperimentModel)experimentCatalog.get(ExperimentCatalogModelType.EXPERIMENT, experimentId); + ProcessModel processModel = (ProcessModel)experimentCatalog.get(ExperimentCatalogModelType.PROCESS, processId); + boolean autoSchedule = experimentModel.getUserConfigurationData().isAiravataAutoSchedule(); + ComputationalResourceSchedulingModel resourceSchedule = processModel.getResourceSchedule(); + String userGivenQueueName = resourceSchedule.getQueueName(); + int userGivenWallTime = resourceSchedule.getWallTimeLimit(); + String resourceHostId = resourceSchedule.getResourceHostId(); + if (resourceHostId == null){ + throw new OrchestratorException("Compute Resource Id cannot be null at this point"); + } + ComputeResourceDescription computeResource = appCatalog.getComputeResource().getComputeResource(resourceHostId); + List<BatchQueue> definedBatchQueues = computeResource.getBatchQueues(); + for (BatchQueue batchQueue : definedBatchQueues){ + if (batchQueue.getQueueName().equals(userGivenQueueName)){ + int maxRunTime = batchQueue.getMaxRunTime(); + if (maxRunTime < userGivenWallTime){ + // need to create more job submissions + } + } + } + + + } catch (Exception e) { + throw new OrchestratorException("Error during creating process"); + } + return taskModels; + } + }
