You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2014/12/08 19:32:32 UTC
[4/6] airavata git commit: Preserve argument order and application
arguments
Preserve argument order and application arguments
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/a61b37f1
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/a61b37f1
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/a61b37f1
Branch: refs/heads/master
Commit: a61b37f17cb1d9ee9c98029fb0ac7a8836cd993d
Parents: ca2f23b
Author: shamrath <sh...@gmail.com>
Authored: Thu Dec 4 22:31:29 2014 -0500
Committer: shamrath <sh...@gmail.com>
Committed: Thu Dec 4 22:31:29 2014 -0500
----------------------------------------------------------------------
.../applicationInterfaceModel_types.cpp | 22 +++-
.../airavata/applicationInterfaceModel_types.h | 23 +++--
.../lib/airavata/experimentModel_types.cpp | 12 +--
.../lib/airavata/experimentModel_types.h | 12 +--
.../lib/airavata/workflowDataModel_types.cpp | 4 +-
.../lib/airavata/workflowDataModel_types.h | 4 +-
.../Model/AppCatalog/AppInterface/Types.php | 20 ++++
.../tools/RegisterOGCEUS3Application.java | 2 +-
.../tools/RegisterSampleApplications.java | 76 +++++++-------
.../tools/RegisterSampleApplicationsUtils.java | 3 +-
.../client/tools/RegisterUS3Application.java | 2 +-
.../appinterface/InputDataObjectType.java | 102 ++++++++++++++++++-
.../airavata/model/util/AppInterfaceUtil.java | 2 +
.../applicationInterfaceModel.thrift | 3 +-
.../data/impl/ApplicationInterfaceImpl.java | 6 +-
.../catalog/data/impl/WorkflowCatalogImpl.java | 4 +-
.../catalog/data/model/ApplicationInput.java | 10 ++
.../catalog/data/model/WorkflowInput.java | 12 ++-
.../resources/ApplicationInputResource.java | 22 ++--
.../data/resources/WorkflowInputResource.java | 21 ++--
.../catalog/data/util/AppCatalogJPAUtils.java | 6 +-
.../data/util/AppCatalogThriftConversion.java | 4 +-
.../app/catalog/test/AppInterfaceTest.java | 2 +
.../gfac/local/provider/impl/LocalProvider.java | 41 ++++++--
.../registry/jpa/impl/ExperimentRegistry.java | 12 +++
.../registry/jpa/model/ApplicationInput.java | 11 ++
.../registry/jpa/model/Experiment_Input.java | 11 ++
.../registry/jpa/model/NodeInput.java | 10 ++
.../jpa/resources/ApplicationInputResource.java | 11 ++
.../jpa/resources/ExperimentInputResource.java | 11 ++
.../jpa/resources/NodeInputResource.java | 12 ++-
.../registry/jpa/resources/Utils.java | 3 +
.../jpa/utils/ThriftDataModelConversion.java | 15 ++-
.../src/main/resources/registry-derby.sql | 3 +
.../src/main/resources/registry-mysql.sql | 3 +
.../engine/interpretor/WorkflowInterpreter.java | 14 ++-
.../model/component/ws/WSComponent.java | 2 +-
.../component/ws/WSComponentApplication.java | 95 +++++++++--------
.../ws/WSComponentApplicationParameter.java | 23 ++++-
.../model/component/ws/WSComponentPort.java | 16 ++-
.../workflow/model/gpel/script/BPELScript.java | 2 +-
.../model/gpel/script/WorkflowWSDL.java | 3 +-
.../workflow/model/graph/GraphSchema.java | 1 +
.../workflow/model/graph/system/InputNode.java | 11 ++
.../workflow/model/utils/WorkflowConstants.java | 16 ++-
.../registry/ComponentRegistryLoader.java | 3 +-
.../WorkflowInterpreterLaunchWindow.java | 1 +
47 files changed, 536 insertions(+), 168 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
index 4a064b0..b32630a 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.cpp
@@ -45,8 +45,8 @@ const char* _kDataTypeNames[] = {
};
const std::map<int, const char*> _DataType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kDataTypeValues, _kDataTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-const char* InputDataObjectType::ascii_fingerprint = "24F962C1CE4BE9FBD0F5D5EE9D1D5C00";
-const uint8_t InputDataObjectType::binary_fingerprint[16] = {0x24,0xF9,0x62,0xC1,0xCE,0x4B,0xE9,0xFB,0xD0,0xF5,0xD5,0xEE,0x9D,0x1D,0x5C,0x00};
+const char* InputDataObjectType::ascii_fingerprint = "91FB63C319A494A8E1E6563006402BC7";
+const uint8_t InputDataObjectType::binary_fingerprint[16] = {0x91,0xFB,0x63,0xC3,0x19,0xA4,0x94,0xA8,0xE1,0xE6,0x56,0x30,0x06,0x40,0x2B,0xC7};
uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -127,6 +127,14 @@ uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot)
xfer += iprot->skip(ftype);
}
break;
+ case 8:
+ if (ftype == ::apache::thrift::protocol::T_I32) {
+ xfer += iprot->readI32(this->inputOrder);
+ this->__isset.inputOrder = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -179,6 +187,11 @@ uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot
xfer += oprot->writeString(this->metaData);
xfer += oprot->writeFieldEnd();
}
+ if (this->__isset.inputOrder) {
+ xfer += oprot->writeFieldBegin("inputOrder", ::apache::thrift::protocol::T_I32, 8);
+ xfer += oprot->writeI32(this->inputOrder);
+ xfer += oprot->writeFieldEnd();
+ }
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
@@ -193,6 +206,7 @@ void swap(InputDataObjectType &a, InputDataObjectType &b) {
swap(a.standardInput, b.standardInput);
swap(a.userFriendlyDescription, b.userFriendlyDescription);
swap(a.metaData, b.metaData);
+ swap(a.inputOrder, b.inputOrder);
swap(a.__isset, b.__isset);
}
@@ -291,8 +305,8 @@ void swap(OutputDataObjectType &a, OutputDataObjectType &b) {
swap(a.__isset, b.__isset);
}
-const char* ApplicationInterfaceDescription::ascii_fingerprint = "355A0972969341C2A113049339427849";
-const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0x35,0x5A,0x09,0x72,0x96,0x93,0x41,0xC2,0xA1,0x13,0x04,0x93,0x39,0x42,0x78,0x49};
+const char* ApplicationInterfaceDescription::ascii_fingerprint = "F2FFD013708A2D0DA86FD5438F17268E";
+const uint8_t ApplicationInterfaceDescription::binary_fingerprint[16] = {0xF2,0xFF,0xD0,0x13,0x70,0x8A,0x2D,0x0D,0xA8,0x6F,0xD5,0x43,0x8F,0x17,0x26,0x8E};
uint32_t ApplicationInterfaceDescription::read(::apache::thrift::protocol::TProtocol* iprot) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
index 961feea..8076197 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/applicationInterfaceModel_types.h
@@ -48,22 +48,23 @@ struct DataType {
extern const std::map<int, const char*> _DataType_VALUES_TO_NAMES;
typedef struct _InputDataObjectType__isset {
- _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(true), userFriendlyDescription(false), metaData(false) {}
+ _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(true), userFriendlyDescription(false), metaData(false), inputOrder(false) {}
bool value;
bool type;
bool applicationArgument;
bool standardInput;
bool userFriendlyDescription;
bool metaData;
+ bool inputOrder;
} _InputDataObjectType__isset;
class InputDataObjectType {
public:
- static const char* ascii_fingerprint; // = "24F962C1CE4BE9FBD0F5D5EE9D1D5C00";
- static const uint8_t binary_fingerprint[16]; // = {0x24,0xF9,0x62,0xC1,0xCE,0x4B,0xE9,0xFB,0xD0,0xF5,0xD5,0xEE,0x9D,0x1D,0x5C,0x00};
+ static const char* ascii_fingerprint; // = "91FB63C319A494A8E1E6563006402BC7";
+ static const uint8_t binary_fingerprint[16]; // = {0x91,0xFB,0x63,0xC3,0x19,0xA4,0x94,0xA8,0xE1,0xE6,0x56,0x30,0x06,0x40,0x2B,0xC7};
- InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(false), userFriendlyDescription(), metaData() {
+ InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(false), userFriendlyDescription(), metaData(), inputOrder(0) {
}
virtual ~InputDataObjectType() throw() {}
@@ -75,6 +76,7 @@ class InputDataObjectType {
bool standardInput;
std::string userFriendlyDescription;
std::string metaData;
+ int32_t inputOrder;
_InputDataObjectType__isset __isset;
@@ -112,6 +114,11 @@ class InputDataObjectType {
__isset.metaData = true;
}
+ void __set_inputOrder(const int32_t val) {
+ inputOrder = val;
+ __isset.inputOrder = true;
+ }
+
bool operator == (const InputDataObjectType & rhs) const
{
if (!(name == rhs.name))
@@ -140,6 +147,10 @@ class InputDataObjectType {
return false;
else if (__isset.metaData && !(metaData == rhs.metaData))
return false;
+ if (__isset.inputOrder != rhs.__isset.inputOrder)
+ return false;
+ else if (__isset.inputOrder && !(inputOrder == rhs.inputOrder))
+ return false;
return true;
}
bool operator != (const InputDataObjectType &rhs) const {
@@ -230,8 +241,8 @@ typedef struct _ApplicationInterfaceDescription__isset {
class ApplicationInterfaceDescription {
public:
- static const char* ascii_fingerprint; // = "355A0972969341C2A113049339427849";
- static const uint8_t binary_fingerprint[16]; // = {0x35,0x5A,0x09,0x72,0x96,0x93,0x41,0xC2,0xA1,0x13,0x04,0x93,0x39,0x42,0x78,0x49};
+ static const char* ascii_fingerprint; // = "F2FFD013708A2D0DA86FD5438F17268E";
+ static const uint8_t binary_fingerprint[16]; // = {0xF2,0xFF,0xD0,0x13,0x70,0x8A,0x2D,0x0D,0xA8,0x6F,0xD5,0x43,0x8F,0x17,0x26,0x8E};
ApplicationInterfaceDescription() : applicationInterfaceId("DO_NOT_SET_AT_CLIENTS"), applicationName(), applicationDescription() {
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
index 18a2674..ca30e91 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.cpp
@@ -1843,8 +1843,8 @@ void swap(DataTransferDetails &a, DataTransferDetails &b) {
swap(a.__isset, b.__isset);
}
-const char* TaskDetails::ascii_fingerprint = "C0E50EB91BEBDC23A45D03BFD2BD630A";
-const uint8_t TaskDetails::binary_fingerprint[16] = {0xC0,0xE5,0x0E,0xB9,0x1B,0xEB,0xDC,0x23,0xA4,0x5D,0x03,0xBF,0xD2,0xBD,0x63,0x0A};
+const char* TaskDetails::ascii_fingerprint = "DFCB41DA19801BFF3CFE9E62BF38A6C7";
+const uint8_t TaskDetails::binary_fingerprint[16] = {0xDF,0xCB,0x41,0xDA,0x19,0x80,0x1B,0xFF,0x3C,0xFE,0x9E,0x62,0xBF,0x38,0xA6,0xC7};
uint32_t TaskDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -2190,8 +2190,8 @@ void swap(TaskDetails &a, TaskDetails &b) {
swap(a.__isset, b.__isset);
}
-const char* WorkflowNodeDetails::ascii_fingerprint = "F9600D5A8E84EAF65A64E38C18DFACAE";
-const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0xF9,0x60,0x0D,0x5A,0x8E,0x84,0xEA,0xF6,0x5A,0x64,0xE3,0x8C,0x18,0xDF,0xAC,0xAE};
+const char* WorkflowNodeDetails::ascii_fingerprint = "1A079CC07FB1A7970B53C4E16D7A3344";
+const uint8_t WorkflowNodeDetails::binary_fingerprint[16] = {0x1A,0x07,0x9C,0xC0,0x7F,0xB1,0xA7,0x97,0x0B,0x53,0xC4,0xE1,0x6D,0x7A,0x33,0x44};
uint32_t WorkflowNodeDetails::read(::apache::thrift::protocol::TProtocol* iprot) {
@@ -2646,8 +2646,8 @@ void swap(ValidationResults &a, ValidationResults &b) {
swap(a.validationResultList, b.validationResultList);
}
-const char* Experiment::ascii_fingerprint = "CDFB79AEABF988D5D38D8EEAEEBECC6F";
-const uint8_t Experiment::binary_fingerprint[16] = {0xCD,0xFB,0x79,0xAE,0xAB,0xF9,0x88,0xD5,0xD3,0x8D,0x8E,0xEA,0xEE,0xBE,0xCC,0x6F};
+const char* Experiment::ascii_fingerprint = "655CCC3196684D1F7DD154965195C52B";
+const uint8_t Experiment::binary_fingerprint[16] = {0x65,0x5C,0xCC,0x31,0x96,0x68,0x4D,0x1F,0x7D,0xD1,0x54,0x96,0x51,0x95,0xC5,0x2B};
uint32_t Experiment::read(::apache::thrift::protocol::TProtocol* iprot) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
index c4edbb7..fa45481 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experimentModel_types.h
@@ -1294,8 +1294,8 @@ typedef struct _TaskDetails__isset {
class TaskDetails {
public:
- static const char* ascii_fingerprint; // = "C0E50EB91BEBDC23A45D03BFD2BD630A";
- static const uint8_t binary_fingerprint[16]; // = {0xC0,0xE5,0x0E,0xB9,0x1B,0xEB,0xDC,0x23,0xA4,0x5D,0x03,0xBF,0xD2,0xBD,0x63,0x0A};
+ static const char* ascii_fingerprint; // = "DFCB41DA19801BFF3CFE9E62BF38A6C7";
+ static const uint8_t binary_fingerprint[16]; // = {0xDF,0xCB,0x41,0xDA,0x19,0x80,0x1B,0xFF,0x3C,0xFE,0x9E,0x62,0xBF,0x38,0xA6,0xC7};
TaskDetails() : taskID("DO_NOT_SET_AT_CLIENTS"), creationTime(0), applicationId(), applicationVersion(), applicationDeploymentId() {
}
@@ -1473,8 +1473,8 @@ typedef struct _WorkflowNodeDetails__isset {
class WorkflowNodeDetails {
public:
- static const char* ascii_fingerprint; // = "F9600D5A8E84EAF65A64E38C18DFACAE";
- static const uint8_t binary_fingerprint[16]; // = {0xF9,0x60,0x0D,0x5A,0x8E,0x84,0xEA,0xF6,0x5A,0x64,0xE3,0x8C,0x18,0xDF,0xAC,0xAE};
+ static const char* ascii_fingerprint; // = "1A079CC07FB1A7970B53C4E16D7A3344";
+ static const uint8_t binary_fingerprint[16]; // = {0x1A,0x07,0x9C,0xC0,0x7F,0xB1,0xA7,0x97,0x0B,0x53,0xC4,0xE1,0x6D,0x7A,0x33,0x44};
WorkflowNodeDetails() : nodeInstanceId("DO_NOT_SET_AT_CLIENTS"), creationTime(0), nodeName("SINGLE_APP_NODE"), executionUnit((ExecutionUnit::type)1), executionUnitData() {
executionUnit = (ExecutionUnit::type)1;
@@ -1712,8 +1712,8 @@ typedef struct _Experiment__isset {
class Experiment {
public:
- static const char* ascii_fingerprint; // = "CDFB79AEABF988D5D38D8EEAEEBECC6F";
- static const uint8_t binary_fingerprint[16]; // = {0xCD,0xFB,0x79,0xAE,0xAB,0xF9,0x88,0xD5,0xD3,0x8D,0x8E,0xEA,0xEE,0xBE,0xCC,0x6F};
+ static const char* ascii_fingerprint; // = "655CCC3196684D1F7DD154965195C52B";
+ static const uint8_t binary_fingerprint[16]; // = {0x65,0x5C,0xCC,0x31,0x96,0x68,0x4D,0x1F,0x7D,0xD1,0x54,0x96,0x51,0x95,0xC5,0x2B};
Experiment() : experimentID("DO_NOT_SET_AT_CLIENTS"), projectID("DEFAULT"), creationTime(0), userName(), name(), description(), applicationId(), applicationVersion(), workflowTemplateId(), workflowTemplateVersion(), workflowExecutionInstanceId() {
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
index 53f0b70..195d6b6 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.cpp
@@ -27,8 +27,8 @@
-const char* Workflow::ascii_fingerprint = "0F4DE03295CE4C20055DE0E68CFA7A65";
-const uint8_t Workflow::binary_fingerprint[16] = {0x0F,0x4D,0xE0,0x32,0x95,0xCE,0x4C,0x20,0x05,0x5D,0xE0,0xE6,0x8C,0xFA,0x7A,0x65};
+const char* Workflow::ascii_fingerprint = "C0E4ABD766E59503FEF37ABFB58F6DC5";
+const uint8_t Workflow::binary_fingerprint[16] = {0xC0,0xE4,0xAB,0xD7,0x66,0xE5,0x95,0x03,0xFE,0xF3,0x7A,0xBF,0xB5,0x8F,0x6D,0xC5};
uint32_t Workflow::read(::apache::thrift::protocol::TProtocol* iprot) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
index d688702..7ca41d9 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workflowDataModel_types.h
@@ -46,8 +46,8 @@ typedef struct _Workflow__isset {
class Workflow {
public:
- static const char* ascii_fingerprint; // = "0F4DE03295CE4C20055DE0E68CFA7A65";
- static const uint8_t binary_fingerprint[16]; // = {0x0F,0x4D,0xE0,0x32,0x95,0xCE,0x4C,0x20,0x05,0x5D,0xE0,0xE6,0x8C,0xFA,0x7A,0x65};
+ static const char* ascii_fingerprint; // = "C0E4ABD766E59503FEF37ABFB58F6DC5";
+ static const uint8_t binary_fingerprint[16]; // = {0xC0,0xE4,0xAB,0xD7,0x66,0xE5,0x95,0x03,0xFE,0xF3,0x7A,0xBF,0xB5,0x8F,0x6D,0xC5};
Workflow() : templateId("DO_NOT_SET_AT_CLIENTS"), name(), graph(), image() {
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
index 5350e10..ff6b2be 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/AppInterface/Types.php
@@ -44,6 +44,7 @@ class InputDataObjectType {
public $standardInput = false;
public $userFriendlyDescription = null;
public $metaData = null;
+ public $inputOrder = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -76,6 +77,10 @@ class InputDataObjectType {
'var' => 'metaData',
'type' => TType::STRING,
),
+ 8 => array(
+ 'var' => 'inputOrder',
+ 'type' => TType::I32,
+ ),
);
}
if (is_array($vals)) {
@@ -100,6 +105,9 @@ class InputDataObjectType {
if (isset($vals['metaData'])) {
$this->metaData = $vals['metaData'];
}
+ if (isset($vals['inputOrder'])) {
+ $this->inputOrder = $vals['inputOrder'];
+ }
}
}
@@ -171,6 +179,13 @@ class InputDataObjectType {
$xfer += $input->skip($ftype);
}
break;
+ case 8:
+ if ($ftype == TType::I32) {
+ $xfer += $input->readI32($this->inputOrder);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -219,6 +234,11 @@ class InputDataObjectType {
$xfer += $output->writeString($this->metaData);
$xfer += $output->writeFieldEnd();
}
+ if ($this->inputOrder !== null) {
+ $xfer += $output->writeFieldBegin('inputOrder', TType::I32, 8);
+ $xfer += $output->writeI32($this->inputOrder);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
index 2b7c195..9ba0b4b 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterOGCEUS3Application.java
@@ -154,7 +154,7 @@ public class RegisterOGCEUS3Application {
appModules.add(ultrascanModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("input", null,
- DataType.URI, null, false, "input tar file", null);
+ DataType.URI, null, 1, false, "input tar file", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
index 41020a0..e4e1e32 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplications.java
@@ -363,7 +363,7 @@ public class RegisterSampleApplications {
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("s_struct", "",
- DataType.URI, null, false, "Starting Structure File", null));
+ DataType.URI, null, 1, false, "Starting Structure File", null));
List<OutputDataObjectType> applicationOutputs = new ArrayList<OutputDataObjectType>();
@@ -380,11 +380,11 @@ public class RegisterSampleApplications {
applicationInputs.clear();
applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("ffcomplient_struct", "",
- DataType.URI, null, false, "FFComplient Structure File", null));
+ DataType.URI, null, 1, false, "FFComplient Structure File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology", "",
- DataType.URI, null, false, "Topology File", null));
+ DataType.URI, null, 2, false, "Topology File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("control_param_emv", "",
- DataType.URI, null, false, "Controlled parameters array of EM Vacuum", null));
+ DataType.URI, null, 3, false, "Controlled parameters array of EM Vacuum", null));
applicationOutputs.clear();
@@ -399,7 +399,7 @@ public class RegisterSampleApplications {
applicationInputs.clear();
applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("energy_min_struct", "",
- DataType.URI, null, false, "Energy Minimized Structure File", null));
+ DataType.URI, null, 1, false, "Energy Minimized Structure File", null));
applicationOutputs.clear();
applicationOutputs = new ArrayList<OutputDataObjectType>();
@@ -413,11 +413,11 @@ public class RegisterSampleApplications {
applicationInputs.clear();
applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("struct_with_pbc", "",
- DataType.URI, null, false, "Structure with PBC File", null));
+ DataType.URI, null, 1, false, "Structure with PBC File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("solvent_struct", "",
- DataType.URI, null, false, "Solvent Structure File", null));
+ DataType.URI, null, 2, false, "Solvent Structure File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology", "",
- DataType.URI, null, false, "Topology File", null));
+ DataType.URI, null, 3, false, "Topology File", null));
applicationOutputs.clear();
applicationOutputs = new ArrayList<OutputDataObjectType>();
@@ -434,11 +434,11 @@ public class RegisterSampleApplications {
applicationInputs.clear();
applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("struct_with_water", "",
- DataType.URI, null, false, "Structure with water File", null));
+ DataType.URI, null, 1, false, "Structure with water File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology_with_water", "",
- DataType.URI, null, false, "Topology including water File", null));
+ DataType.URI, null, 2, false, "Topology including water File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("control_param_emv", "",
- DataType.URI, null, false, "Controlled parameters array of EM Vacuum", null));
+ DataType.URI, null, 3, false, "Controlled parameters array of EM Vacuum", null));
applicationOutputs.clear();
applicationOutputs = new ArrayList<OutputDataObjectType>();
@@ -452,9 +452,9 @@ public class RegisterSampleApplications {
applicationInputs.clear();
applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("struct_topoogy", "",
- DataType.URI, null, false, "Structure and Topology File", null));
+ DataType.URI, null, 1, false, "Structure and Topology File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("topology_with_water", "",
- DataType.URI, null, false, "Topology including water File", null));
+ DataType.URI, null, 2, false, "Topology including water File", null));
applicationOutputs.clear();
applicationOutputs = new ArrayList<OutputDataObjectType>();
@@ -471,11 +471,11 @@ public class RegisterSampleApplications {
applicationInputs.clear();
applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("sys_topoogy", "",
- DataType.URI, null, false, "Structure and Topology File", null));
+ DataType.URI, null, 1, false, "Structure and Topology File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("sys_config", "",
- DataType.URI, null, false, "Topology including water File", null));
+ DataType.URI, null, 2, false, "Topology including water File", null));
applicationInputs.add(RegisterSampleApplicationsUtils.createAppInput("control_param_ems", "",
- DataType.URI, null, false, "Controlled parameters array of EM Solvent", null));
+ DataType.URI, null, 3, false, "Controlled parameters array of EM Solvent", null));
applicationOutputs.clear();
applicationOutputs = new ArrayList<OutputDataObjectType>();
@@ -501,7 +501,7 @@ public class RegisterSampleApplications {
appModules.add(echoModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("echo_input", "echo_output=Hello World",
- DataType.STRING, null, false, "A test string to Echo", null);
+ DataType.STRING, null, 1, false, "A test string to Echo", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -530,7 +530,7 @@ public class RegisterSampleApplications {
appModules.add(echoModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Input_to_Echo", "Hello World",
- DataType.STRING, null, false, "A test string to Echo", null);
+ DataType.STRING, null, 1, false, "A test string to Echo", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -559,13 +559,13 @@ public class RegisterSampleApplications {
appModules.add(amberModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Heat_Restart_File", null,
- DataType.URI, null, false, "Heating up the system equilibration stage - 02_Heat.rst", null);
+ DataType.URI, null, 1, false, "Heating up the system equilibration stage - 02_Heat.rst", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Production_Control_File", null,
- DataType.URI, null, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
+ DataType.URI, null, 2, false, "Constant pressure and temperature for production stage - 03_Prod.in", null);
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
- DataType.URI, null, false, "Parameter and Topology coordinates - prmtop", null);
+ DataType.URI, null, 3, false, "Parameter and Topology coordinates - prmtop", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -601,13 +601,13 @@ public class RegisterSampleApplications {
appModules.add(autoDockModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Heat_Restart_File", null,
- DataType.URI, null, false, "Heating up the system equilibration stage", null);
+ DataType.URI, null, 1, false, "Heating up the system equilibration stage", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Production_Control_File", null,
- DataType.URI, null, false, "Constant pressure and temperature for production stage", null);
+ DataType.URI, null, 2, false, "Constant pressure and temperature for production stage", null);
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Parameter_Topology_File", null,
- DataType.URI, null, false, "Parameter and Topology coordinates", null);
+ DataType.URI, null, 3, false, "Parameter and Topology coordinates", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -638,10 +638,10 @@ public class RegisterSampleApplications {
appModules.add(espressoModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("AI_Primitive_Cell", null,
- DataType.URI, null, false, "AI_Metal_Input_File - Al.sample.in", null);
+ DataType.URI, null, 1, false, "AI_Metal_Input_File - Al.sample.in", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("AI_Pseudopotential_File", null,
- DataType.URI, null, false, "Constant pressure and temperature for production stage - Al.pz-vbc.UPF", null);
+ DataType.URI, null, 2, false, "Constant pressure and temperature for production stage - Al.pz-vbc.UPF", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -672,10 +672,10 @@ public class RegisterSampleApplications {
appModules.add(gromacsModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Portable_Input_Binary_File", null,
- DataType.URI, null, false, "Coordinates velocities, molecular topology and simulation parameters - pdb1y6l-EM-vacuum.tpr", null);
+ DataType.URI, null, 1, false, "Coordinates velocities, molecular topology and simulation parameters - pdb1y6l-EM-vacuum.tpr", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("GROMOS_Coordinate_File", null,
- DataType.URI, null, false, "Trajectory Coordinates Molecular Structure in Gromos87 format - pdb1y6l-EM-vacuum.gro", null);
+ DataType.URI, null, 2, false, "Trajectory Coordinates Molecular Structure in Gromos87 format - pdb1y6l-EM-vacuum.gro", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -708,7 +708,7 @@ public class RegisterSampleApplications {
appModules.add(lammpsModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Friction_Simulation_Input", null,
- DataType.URI, null, false, "Friction Simulation Input - in.friction", null);
+ DataType.URI, null, 1, false, "Friction Simulation Input - in.friction", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -736,7 +736,7 @@ public class RegisterSampleApplications {
appModules.add(nwChemModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Water_Molecule_Input", null,
- DataType.URI, null, false, "Water Molecule Input File - water.nw", null);
+ DataType.URI, null, 1, false, "Water Molecule Input File - water.nw", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -765,10 +765,10 @@ public class RegisterSampleApplications {
appModules.add(trinityModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("RNA_Seq_Left_Input", null,
- DataType.URI, null, false, "RNA-Seq Left Library - reads.left.fq", null);
+ DataType.URI, null, 1, false, "RNA-Seq Left Library - reads.left.fq", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("RNA_Seq_Right_Input", null,
- DataType.URI, null, false, "RNA-Seq Right Library - reads.right.fq", null);
+ DataType.URI, null, 2, false, "RNA-Seq Right Library - reads.right.fq", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -800,13 +800,13 @@ public class RegisterSampleApplications {
appModules.add(wrfModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Config_Namelist_File", null,
- DataType.URI, null, false, "Namelist Configuration File - namelist.input", null);
+ DataType.URI, null, 1, false, "Namelist Configuration File - namelist.input", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("WRF_Initial_Conditions", null,
- DataType.URI, null, false, "Initial Conditions File - wrfinput_d01", null);
+ DataType.URI, null, 2, false, "Initial Conditions File - wrfinput_d01", null);
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("WRF_Boundary_File", null,
- DataType.URI, null, false, "Boundary Conditions File - wrfbdy_d01", null);
+ DataType.URI, null, 3, false, "Boundary Conditions File - wrfbdy_d01", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
@@ -841,13 +841,13 @@ public class RegisterSampleApplications {
appModules.add(phastaModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("Parasolid_Geometric_Model", null,
- DataType.URI, null, false, "Parasolid geometric model - geom.xmt_txt", null);
+ DataType.URI, null, 1, false, "Parasolid geometric model - geom.xmt_txt", null);
InputDataObjectType input2 = RegisterSampleApplicationsUtils.createAppInput("Problem_Definition", null,
- DataType.URI, null, false, "problem definition - geom.smd", null);
+ DataType.URI, null, 2, false, "problem definition - geom.smd", null);
InputDataObjectType input3 = RegisterSampleApplicationsUtils.createAppInput("Mesh_Description_File", null,
- DataType.URI, null, false, "Mesh Description - geom.sms", null);
+ DataType.URI, null, 3, false, "Mesh Description - geom.sms", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
index 34f770a..58ba387 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterSampleApplicationsUtils.java
@@ -120,13 +120,14 @@ public class RegisterSampleApplicationsUtils {
public static InputDataObjectType createAppInput
(String inputName, String value, DataType type,
- String applicationArgument, boolean stdIn, String description, String metadata) {
+ String applicationArgument, int order, boolean stdIn, String description, String metadata) {
InputDataObjectType input = new InputDataObjectType();
// input.setIsEmpty(false);
if (inputName != null) input.setName(inputName);
if (value != null) input.setValue(value);
if (type != null) input.setType(type);
if (applicationArgument != null) input.setApplicationArgument(applicationArgument);
+ input.setInputOrder(order);
if (description != null) input.setUserFriendlyDescription(description);
input.setStandardInput(stdIn);
if (metadata != null) input.setMetaData(metadata);
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
index ccb4e24..0e86469 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/tools/RegisterUS3Application.java
@@ -154,7 +154,7 @@ public class RegisterUS3Application {
appModules.add(ultrascanModuleId);
InputDataObjectType input1 = RegisterSampleApplicationsUtils.createAppInput("input", null,
- DataType.URI, null, false, "input tar file", null);
+ DataType.URI, null, 1, false, "input tar file", null);
List<InputDataObjectType> applicationInputs = new ArrayList<InputDataObjectType>();
applicationInputs.add(input1);
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
index 97227b8..0cd666b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/InputDataObjectType.java
@@ -85,6 +85,7 @@ import org.slf4j.LoggerFactory;
private static final org.apache.thrift.protocol.TField STANDARD_INPUT_FIELD_DESC = new org.apache.thrift.protocol.TField("standardInput", org.apache.thrift.protocol.TType.BOOL, (short)5);
private static final org.apache.thrift.protocol.TField USER_FRIENDLY_DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("userFriendlyDescription", org.apache.thrift.protocol.TType.STRING, (short)6);
private static final org.apache.thrift.protocol.TField META_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("metaData", org.apache.thrift.protocol.TType.STRING, (short)7);
+ private static final org.apache.thrift.protocol.TField INPUT_ORDER_FIELD_DESC = new org.apache.thrift.protocol.TField("inputOrder", org.apache.thrift.protocol.TType.I32, (short)8);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -99,6 +100,7 @@ import org.slf4j.LoggerFactory;
private boolean standardInput; // optional
private String userFriendlyDescription; // optional
private String metaData; // optional
+ private int inputOrder; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -112,7 +114,8 @@ import org.slf4j.LoggerFactory;
APPLICATION_ARGUMENT((short)4, "applicationArgument"),
STANDARD_INPUT((short)5, "standardInput"),
USER_FRIENDLY_DESCRIPTION((short)6, "userFriendlyDescription"),
- META_DATA((short)7, "metaData");
+ META_DATA((short)7, "metaData"),
+ INPUT_ORDER((short)8, "inputOrder");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -141,6 +144,8 @@ import org.slf4j.LoggerFactory;
return USER_FRIENDLY_DESCRIPTION;
case 7: // META_DATA
return META_DATA;
+ case 8: // INPUT_ORDER
+ return INPUT_ORDER;
default:
return null;
}
@@ -182,8 +187,9 @@ import org.slf4j.LoggerFactory;
// isset id assignments
private static final int __STANDARDINPUT_ISSET_ID = 0;
+ private static final int __INPUTORDER_ISSET_ID = 1;
private byte __isset_bitfield = 0;
- private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA};
+ private _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA,_Fields.INPUT_ORDER};
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);
@@ -201,6 +207,8 @@ import org.slf4j.LoggerFactory;
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.META_DATA, new org.apache.thrift.meta_data.FieldMetaData("metaData", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.INPUT_ORDER, new org.apache.thrift.meta_data.FieldMetaData("inputOrder", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InputDataObjectType.class, metaDataMap);
}
@@ -241,6 +249,7 @@ import org.slf4j.LoggerFactory;
if (other.isSetMetaData()) {
this.metaData = other.metaData;
}
+ this.inputOrder = other.inputOrder;
}
public InputDataObjectType deepCopy() {
@@ -257,6 +266,8 @@ import org.slf4j.LoggerFactory;
this.userFriendlyDescription = null;
this.metaData = null;
+ setInputOrderIsSet(false);
+ this.inputOrder = 0;
}
public String getName() {
@@ -427,6 +438,28 @@ import org.slf4j.LoggerFactory;
}
}
+ public int getInputOrder() {
+ return this.inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ setInputOrderIsSet(true);
+ }
+
+ public void unsetInputOrder() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __INPUTORDER_ISSET_ID);
+ }
+
+ /** Returns true if field inputOrder is set (has been assigned a value) and false otherwise */
+ public boolean isSetInputOrder() {
+ return EncodingUtils.testBit(__isset_bitfield, __INPUTORDER_ISSET_ID);
+ }
+
+ public void setInputOrderIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __INPUTORDER_ISSET_ID, value);
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case NAME:
@@ -485,6 +518,14 @@ import org.slf4j.LoggerFactory;
}
break;
+ case INPUT_ORDER:
+ if (value == null) {
+ unsetInputOrder();
+ } else {
+ setInputOrder((Integer)value);
+ }
+ break;
+
}
}
@@ -511,6 +552,9 @@ import org.slf4j.LoggerFactory;
case META_DATA:
return getMetaData();
+ case INPUT_ORDER:
+ return Integer.valueOf(getInputOrder());
+
}
throw new IllegalStateException();
}
@@ -536,6 +580,8 @@ import org.slf4j.LoggerFactory;
return isSetUserFriendlyDescription();
case META_DATA:
return isSetMetaData();
+ case INPUT_ORDER:
+ return isSetInputOrder();
}
throw new IllegalStateException();
}
@@ -616,6 +662,15 @@ import org.slf4j.LoggerFactory;
return false;
}
+ boolean this_present_inputOrder = true && this.isSetInputOrder();
+ boolean that_present_inputOrder = true && that.isSetInputOrder();
+ if (this_present_inputOrder || that_present_inputOrder) {
+ if (!(this_present_inputOrder && that_present_inputOrder))
+ return false;
+ if (this.inputOrder != that.inputOrder)
+ return false;
+ }
+
return true;
}
@@ -702,6 +757,16 @@ import org.slf4j.LoggerFactory;
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetInputOrder()).compareTo(other.isSetInputOrder());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetInputOrder()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.inputOrder, other.inputOrder);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -785,6 +850,12 @@ import org.slf4j.LoggerFactory;
}
first = false;
}
+ if (isSetInputOrder()) {
+ if (!first) sb.append(", ");
+ sb.append("inputOrder:");
+ sb.append(this.inputOrder);
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -890,6 +961,14 @@ import org.slf4j.LoggerFactory;
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 8: // INPUT_ORDER
+ if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+ struct.inputOrder = iprot.readI32();
+ struct.setInputOrderIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -948,6 +1027,11 @@ import org.slf4j.LoggerFactory;
oprot.writeFieldEnd();
}
}
+ if (struct.isSetInputOrder()) {
+ oprot.writeFieldBegin(INPUT_ORDER_FIELD_DESC);
+ oprot.writeI32(struct.inputOrder);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -985,7 +1069,10 @@ import org.slf4j.LoggerFactory;
if (struct.isSetMetaData()) {
optionals.set(5);
}
- oprot.writeBitSet(optionals, 6);
+ if (struct.isSetInputOrder()) {
+ optionals.set(6);
+ }
+ oprot.writeBitSet(optionals, 7);
if (struct.isSetValue()) {
oprot.writeString(struct.value);
}
@@ -1004,6 +1091,9 @@ import org.slf4j.LoggerFactory;
if (struct.isSetMetaData()) {
oprot.writeString(struct.metaData);
}
+ if (struct.isSetInputOrder()) {
+ oprot.writeI32(struct.inputOrder);
+ }
}
@Override
@@ -1011,7 +1101,7 @@ import org.slf4j.LoggerFactory;
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.name = iprot.readString();
struct.setNameIsSet(true);
- BitSet incoming = iprot.readBitSet(6);
+ BitSet incoming = iprot.readBitSet(7);
if (incoming.get(0)) {
struct.value = iprot.readString();
struct.setValueIsSet(true);
@@ -1036,6 +1126,10 @@ import org.slf4j.LoggerFactory;
struct.metaData = iprot.readString();
struct.setMetaDataIsSet(true);
}
+ if (incoming.get(6)) {
+ struct.inputOrder = iprot.readI32();
+ struct.setInputOrderIsSet(true);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppInterfaceUtil.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppInterfaceUtil.java b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppInterfaceUtil.java
index 4030857..ad7a0de 100644
--- a/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppInterfaceUtil.java
+++ b/airavata-api/airavata-model-utils/src/main/java/org/apache/airavata/model/util/AppInterfaceUtil.java
@@ -45,6 +45,7 @@ public class AppInterfaceUtil {
String value,
DataType type,
String applicationArgument,
+ int order,
boolean standardInput,
String userFriendlyDesc,
String metadata){
@@ -54,6 +55,7 @@ public class AppInterfaceUtil {
appInput.setType(type);
appInput.setMetaData(metadata);
appInput.setApplicationArgument(applicationArgument);
+ appInput.setInputOrder(order);
appInput.setUserFriendlyDescription(userFriendlyDesc);
appInput.setStandardInput(standardInput);
return appInput;
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
index 2bb16dc..5646dc5 100644
--- a/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/applicationInterfaceModel.thrift
@@ -77,7 +77,8 @@ struct InputDataObjectType {
4: optional string applicationArgument,
5: optional bool standardInput = 0,
6: optional string userFriendlyDescription,
- 7: optional string metaData
+ 7: optional string metaData,
+ 8: optional i32 inputOrder
}
/**
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
index d430ebe..67bd1bc 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ApplicationInterfaceImpl.java
@@ -101,8 +101,9 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
inputResource.setInputVal(input.getValue());
inputResource.setDataType(input.getType().toString());
inputResource.setMetadata(input.getMetaData());
- inputResource.setStandareInput(input.isStandardInput());
+ inputResource.setStandardInput(input.isStandardInput());
inputResource.setAppArgument(input.getApplicationArgument());
+ inputResource.setInputOrder(input.getInputOrder());
inputResource.save();
}
}
@@ -216,8 +217,9 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
inputResource.setInputVal(input.getValue());
inputResource.setDataType(input.getType().toString());
inputResource.setMetadata(input.getMetaData());
- inputResource.setStandareInput(input.isStandardInput());
+ inputResource.setStandardInput(input.isStandardInput());
inputResource.setAppArgument(input.getApplicationArgument());
+ inputResource.setInputOrder(input.getInputOrder());
inputResource.save();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/WorkflowCatalogImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/WorkflowCatalogImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/WorkflowCatalogImpl.java
index 3474b40..a57ac49 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/WorkflowCatalogImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/WorkflowCatalogImpl.java
@@ -98,7 +98,7 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
wfInputResource.setWfTemplateId(resource.getWfTemplateId());
wfInputResource.setDataType(input.getType().toString());
wfInputResource.setAppArgument(input.getApplicationArgument());
- wfInputResource.setStandareInput(input.isStandardInput());
+ wfInputResource.setStandardInput(input.isStandardInput());
wfInputResource.setUserFriendlyDesc(input.getUserFriendlyDescription());
wfInputResource.setMetadata(input.getMetaData());
wfInputResource.save();
@@ -148,7 +148,7 @@ public class WorkflowCatalogImpl implements WorkflowCatalog {
existingInput.setWfTemplateId(existingWF.getWfTemplateId());
existingInput.setDataType(input.getType().toString());
existingInput.setAppArgument(input.getApplicationArgument());
- existingInput.setStandareInput(input.isStandardInput());
+ existingInput.setStandardInput(input.isStandardInput());
existingInput.setUserFriendlyDesc(input.getUserFriendlyDescription());
existingInput.setMetadata(input.getMetaData());
existingInput.save();
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
index 689f24e..e0416b9 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
@@ -47,6 +47,8 @@ public class ApplicationInput implements Serializable {
private String userFriendlyDesc;
@Column(name = "STANDARD_INPUT")
private boolean standardInput;
+ @Column(name="INPUT_ORDER")
+ private int inputOrder;
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "INTERFACE_ID")
@@ -123,4 +125,12 @@ public class ApplicationInput implements Serializable {
public void setStandardInput(boolean standardInput) {
this.standardInput = standardInput;
}
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
index 81d2b6d..5682f56 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/WorkflowInput.java
@@ -48,8 +48,10 @@ public class WorkflowInput implements Serializable {
private String userFriendlyDesc;
@Column(name = "STANDARD_INPUT")
private boolean standardInput;
+ @Column(name = "INPUT_ORDER")
+ private int inputOrder;
- @ManyToOne(cascade= CascadeType.MERGE)
+ @ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "WF_TEMPLATE_ID")
private Workflow workflow;
@@ -124,4 +126,12 @@ public class WorkflowInput implements Serializable {
public void setStandardInput(boolean standardInput) {
this.standardInput = standardInput;
}
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
index 6894ff1..21a0844 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ApplicationInputResource.java
@@ -48,7 +48,8 @@ public class ApplicationInputResource extends AbstractResource {
private String metadata;
private String appArgument;
private String userFriendlyDesc;
- private boolean standareInput;
+ private int inputOrder;
+ private boolean standardInput;
private AppInterfaceResource appInterfaceResource;
@@ -288,7 +289,8 @@ public class ApplicationInputResource extends AbstractResource {
applicationInput.setMetadata(metadata);
applicationInput.setAppArgument(appArgument);
applicationInput.setUserFriendlyDesc(userFriendlyDesc);
- applicationInput.setStandardInput(standareInput);
+ applicationInput.setStandardInput(standardInput);
+ applicationInput.setInputOrder(inputOrder);
if (existingApplicationInput == null) {
em.persist(applicationInput);
} else {
@@ -404,11 +406,19 @@ public class ApplicationInputResource extends AbstractResource {
this.appInterfaceResource = appInterfaceResource;
}
- public boolean isStandareInput() {
- return standareInput;
+ public boolean isStandardInput() {
+ return standardInput;
}
- public void setStandareInput(boolean standareInput) {
- this.standareInput = standareInput;
+ public void setStandardInput(boolean standardInput) {
+ this.standardInput = standardInput;
+ }
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
index 75c1351..23f6536 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowInputResource.java
@@ -48,7 +48,8 @@ public class WorkflowInputResource extends AbstractResource {
private String metadata;
private String appArgument;
private String userFriendlyDesc;
- private boolean standareInput;
+ private boolean standardInput;
+ private int inputOrder;
private WorkflowResource workflowResource;
@@ -286,7 +287,7 @@ public class WorkflowInputResource extends AbstractResource {
workflowInput.setMetadata(metadata);
workflowInput.setAppArgument(appArgument);
workflowInput.setUserFriendlyDesc(userFriendlyDesc);
- workflowInput.setStandardInput(standareInput);
+ workflowInput.setStandardInput(standardInput);
if (existingWFInput == null) {
em.persist(workflowInput);
} else {
@@ -402,11 +403,19 @@ public class WorkflowInputResource extends AbstractResource {
this.workflowResource = workflowResource;
}
- public boolean isStandareInput() {
- return standareInput;
+ public boolean isStandardInput() {
+ return standardInput;
}
- public void setStandareInput(boolean standareInput) {
- this.standareInput = standareInput;
+ public void setStandardInput(boolean standardInput) {
+ this.standardInput = standardInput;
+ }
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
index aca396a..de6a010 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
@@ -760,7 +760,8 @@ public class AppCatalogJPAUtils {
resource.setMetadata(o.getMetadata());
resource.setAppArgument(o.getAppArgument());
resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
- resource.setStandareInput(o.isStandardInput());
+ resource.setStandardInput(o.isStandardInput());
+ resource.setInputOrder(o.getInputOrder());
resource.setAppInterfaceResource((AppInterfaceResource)createAppInterfaceResource(o.getApplicationInterface()));
}
return resource;
@@ -777,8 +778,9 @@ public class AppCatalogJPAUtils {
resource.setDataType(o.getDataType());
resource.setMetadata(o.getMetadata());
resource.setAppArgument(o.getAppArgument());
+ resource.setInputOrder(o.getInputOrder());
resource.setUserFriendlyDesc(o.getUserFriendlyDesc());
- resource.setStandareInput(o.isStandardInput());
+ resource.setStandardInput(o.isStandardInput());
resource.setWorkflowResource((WorkflowResource)createWorkflow(o.getWorkflow()));
}
return resource;
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index 9646bda..0ada380 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -556,9 +556,10 @@ public class AppCatalogThriftConversion {
inputDataObjectType.setName(input.getInputKey());
inputDataObjectType.setValue(input.getInputVal());
inputDataObjectType.setApplicationArgument(input.getAppArgument());
+ inputDataObjectType.setInputOrder(input.getInputOrder());
inputDataObjectType.setMetaData(input.getMetadata());
inputDataObjectType.setType(DataType.valueOf(input.getDataType()));
- inputDataObjectType.setStandardInput(input.isStandareInput());
+ inputDataObjectType.setStandardInput(input.isStandardInput());
inputDataObjectType.setUserFriendlyDescription(input.getUserFriendlyDesc());
return inputDataObjectType;
}
@@ -696,6 +697,7 @@ public class AppCatalogThriftConversion {
InputDataObjectType input = new InputDataObjectType();
input.setName(resource.getInputKey());
input.setApplicationArgument(resource.getAppArgument());
+ input.setInputOrder(resource.getInputOrder());
input.setType(DataType.valueOf(resource.getDataType()));
input.setMetaData(resource.getMetadata());
input.setUserFriendlyDescription(resource.getUserFriendlyDesc());
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
index 1a1dbd3..d2e5d0c 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/AppInterfaceTest.java
@@ -47,6 +47,7 @@ import static org.junit.Assert.assertTrue;
public class AppInterfaceTest {
private static Initialize initialize;
private static AppCatalog appcatalog;
+ private static int order = 1;
@Before
public void setUp() {
@@ -169,6 +170,7 @@ public class AppInterfaceTest {
input.setValue(value);
input.setType(type);
input.setApplicationArgument("test arg");
+ input.setInputOrder(order++);
return input;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java b/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java
index 8b79ff9..8f034ae 100644
--- a/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java
+++ b/modules/gfac/gfac-local/src/main/java/org/apache/airavata/gfac/local/provider/impl/LocalProvider.java
@@ -23,8 +23,12 @@ package org.apache.airavata.gfac.local.provider.impl;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import java.util.Map;
+import java.util.Set;
+import java.util.TreeSet;
import org.apache.airavata.gfac.Constants;
import org.apache.airavata.gfac.GFacException;
@@ -252,20 +256,35 @@ public class LocalProvider extends AbstractProvider {
private void buildCommand() {
cmdList.add(jobExecutionContext.getExecutablePath());
Map<String, Object> inputParameters = jobExecutionContext.getInMessageContext().getParameters();
- for (Object inputObject : inputParameters.values()) {
- if (inputObject instanceof InputDataObjectType) {
- InputDataObjectType inputDataObjectType = (InputDataObjectType) inputObject;
- if (inputDataObjectType.getApplicationArgument() != null
- && !inputDataObjectType.getApplicationArgument().equals("")) {
- cmdList.add(inputDataObjectType.getApplicationArgument());
- }
- if (inputDataObjectType.getValue() != null
- && !inputDataObjectType.getValue().equals("")) {
- cmdList.add(inputDataObjectType.getValue());
- }
+ // sort the inputs first and then build the command List
+ Comparator<InputDataObjectType> inputOrderComparator = new Comparator<InputDataObjectType>() {
+ @Override
+ public int compare(InputDataObjectType inputDataObjectType, InputDataObjectType t1) {
+ log.info(" $$$$$$$$$$$$ inpput object order " + inputDataObjectType.getInputOrder() + " , t1 order " + t1.getInputOrder() + "$$$$$$$$$$$$$$$$" );
+ return inputDataObjectType.getInputOrder() - t1.getInputOrder();
+ }
+ };
+ Set<InputDataObjectType> sortedInputSet = new TreeSet<InputDataObjectType>(inputOrderComparator);
+ for (Object object : inputParameters.values()) {
+ if (object instanceof InputDataObjectType) {
+ InputDataObjectType inputDOT = (InputDataObjectType) object;
+ sortedInputSet.add(inputDOT);
+ }
+ }
+ log.info("$$$$$$$$$$$ size of sorted set = " + sortedInputSet.size() + "$$$$$$$$$$$$$$$$$$$");
+ for (InputDataObjectType inputDataObjectType : sortedInputSet) {
+ if (inputDataObjectType.getApplicationArgument() != null
+ && !inputDataObjectType.getApplicationArgument().equals("")) {
+ cmdList.add(inputDataObjectType.getApplicationArgument());
+ }
+
+ if (inputDataObjectType.getValue() != null
+ && !inputDataObjectType.getValue().equals("")) {
+ cmdList.add(inputDataObjectType.getValue());
}
}
+
}
private void initProcessBuilder(ApplicationDeploymentDescription app){
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
index b091ebf..5768a0d 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ExperimentRegistry.java
@@ -274,6 +274,8 @@ public class ExperimentRegistry {
resource.setDataType(input.getType().toString());
}
resource.setMetadata(input.getMetaData());
+ resource.setAppArgument(input.getApplicationArgument());
+ resource.setInputOrder(input.getInputOrder());
resource.save();
}
} catch (Exception e) {
@@ -293,6 +295,8 @@ public class ExperimentRegistry {
exinput.setDataType(input.getType().toString());
}
exinput.setMetadata(input.getMetaData());
+ exinput.setAppArgument(input.getApplicationArgument());
+ exinput.setInputOrder(input.getInputOrder());
exinput.save();
}
}
@@ -816,6 +820,8 @@ public class ExperimentRegistry {
resource.setDataType(input.getType().toString());
}
resource.setMetadata(input.getMetaData());
+ resource.setAppArgument(input.getApplicationArgument());
+ resource.setInputOrder(input.getInputOrder());
resource.save();
}
} catch (Exception e) {
@@ -837,6 +843,8 @@ public class ExperimentRegistry {
resource.setDataType(input.getType().toString());
}
resource.setMetadata(input.getMetaData());
+ resource.setAppArgument(input.getApplicationArgument());
+ resource.setInputOrder(input.getInputOrder());
resource.save();
}
}
@@ -994,6 +1002,8 @@ public class ExperimentRegistry {
resource.setDataType(input.getType().toString());
}
resource.setMetadata(input.getMetaData());
+ resource.setAppArgument(input.getApplicationArgument());
+ resource.setInputOrder(input.getInputOrder());
resource.save();
}
} catch (Exception e) {
@@ -1059,6 +1069,8 @@ public class ExperimentRegistry {
resource.setDataType(input.getType().toString());
}
resource.setMetadata(input.getMetaData());
+ resource.setAppArgument(input.getApplicationArgument());
+ resource.setInputOrder(input.getInputOrder());
resource.save();
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
index c80cb1b..6ece1c2 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/ApplicationInput.java
@@ -47,6 +47,9 @@ public class ApplicationInput implements Serializable {
@Column(name = "APP_ARGUMENT")
private String appArgument;
+ @Column(name = "INPUT_ORDER")
+ private int inputOrder;
+
@Column(name = "STANDARD_INPUT")
private boolean standardInput;
@@ -57,6 +60,14 @@ public class ApplicationInput implements Serializable {
@JoinColumn(name = "TASK_ID")
private TaskDetail task;
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
+
public String getTaskId() {
return taskId;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
index a0dd404..cfa2bd6 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Input.java
@@ -58,10 +58,21 @@ public class Experiment_Input implements Serializable {
@Column(name = "METADATA")
private String metadata;
+ @Column(name = "INPUT_ORDER")
+ private int inputOrder;
+
@ManyToOne
@JoinColumn(name = "EXPERIMENT_ID")
private Experiment experiment;
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
+
public String getExperiment_id() {
return experiment_id;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
index d25886e..6b5ce02 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/NodeInput.java
@@ -45,6 +45,8 @@ public class NodeInput implements Serializable {
private String value;
@Column(name = "APP_ARGUMENT")
private String appArgument;
+ @Column(name = "INPUT_ORDER")
+ private int inputOrder;
@Column(name = "STANDARD_INPUT")
private boolean standardInput;
@@ -127,4 +129,12 @@ public class NodeInput implements Serializable {
public void setUserFriendlyDesc(String userFriendlyDesc) {
this.userFriendlyDesc = userFriendlyDesc;
}
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/a61b37f1/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
index 8d3f704..adca11b 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
@@ -45,6 +45,15 @@ public class ApplicationInputResource extends AbstractResource {
private String appArgument;
private boolean standardInput;
private String userFriendlyDesc;
+ private int inputOrder;
+
+ public int getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(int inputOrder) {
+ this.inputOrder = inputOrder;
+ }
public String getAppArgument() {
return appArgument;
@@ -153,6 +162,7 @@ public class ApplicationInputResource extends AbstractResource {
applicationInput.setAppArgument(appArgument);
applicationInput.setStandardInput(standardInput);
applicationInput.setUserFriendlyDesc(userFriendlyDesc);
+ applicationInput.setInputOrder(inputOrder);
if (value != null){
applicationInput.setValue(value.toCharArray());
}
@@ -167,6 +177,7 @@ public class ApplicationInputResource extends AbstractResource {
existingInput.setAppArgument(appArgument);
existingInput.setStandardInput(standardInput);
existingInput.setUserFriendlyDesc(userFriendlyDesc);
+ existingInput.setInputOrder(inputOrder);
if (value != null){
existingInput.setValue(value.toCharArray());
}