You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2017/02/15 20:29:32 UTC
airavata git commit: adding IIS_READ_ONLY field to Experiment Input/
Process Input and Application Input
Repository: airavata
Updated Branches:
refs/heads/develop c8326ae62 -> 84fcd360d
adding IIS_READ_ONLY field to Experiment Input/ Process Input and Application Input
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/84fcd360
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/84fcd360
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/84fcd360
Branch: refs/heads/develop
Commit: 84fcd360da6e6d8c9ecb5f52de133e81734abfdb
Parents: c8326ae
Author: scnakandala <su...@gmail.com>
Authored: Wed Feb 15 15:28:51 2017 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Feb 15 15:28:51 2017 -0500
----------------------------------------------------------------------
.../airavata/application_io_models_types.cpp | 22 +++
.../lib/airavata/application_io_models_types.h | 12 +-
.../lib/Airavata/Model/Application/Io/Types.php | 23 ++++
.../airavata/model/application/io/ttypes.py | 15 ++-
.../application/io/InputDataObjectType.java | 134 +++++++++++++++----
.../catalog/impl/ApplicationInterfaceImpl.java | 1 +
.../app/catalog/model/ApplicationIntInput.java | 11 ++
.../resources/ApplicationInputResource.java | 10 ++
.../app/catalog/util/AppCatalogJPAUtils.java | 1 +
.../util/AppCatalogThriftConversion.java | 1 +
.../catalog/impl/ExperimentRegistry.java | 4 +
.../catalog/model/ExperimentInput.java | 10 ++
.../experiment/catalog/model/ProcessInput.java | 9 ++
.../resources/ExperimentInputResource.java | 10 ++
.../catalog/resources/ProcessInputResource.java | 10 ++
.../experiment/catalog/resources/Utils.java | 2 +
.../utils/ThriftDataModelConversion.java | 2 +
.../src/main/resources/appcatalog-derby.sql | 1 +
.../src/main/resources/appcatalog-mysql.sql | 1 +
.../src/main/resources/expcatalog-derby.sql | 2 +
.../src/main/resources/expcatalog-mysql.sql | 2 +
.../catalog/ExperimentInputResourceTest.java | 1 +
.../application_io_models.thrift | 3 +-
23 files changed, 258 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
index 769938e..1c1b548 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
@@ -114,6 +114,11 @@ void InputDataObjectType::__set_storageResourceId(const std::string& val) {
__isset.storageResourceId = true;
}
+void InputDataObjectType::__set_isReadOnly(const bool val) {
+ this->isReadOnly = val;
+__isset.isReadOnly = true;
+}
+
uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -234,6 +239,14 @@ uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot)
xfer += iprot->skip(ftype);
}
break;
+ case 13:
+ if (ftype == ::apache::thrift::protocol::T_BOOL) {
+ xfer += iprot->readBool(this->isReadOnly);
+ this->__isset.isReadOnly = true;
+ } else {
+ xfer += iprot->skip(ftype);
+ }
+ break;
default:
xfer += iprot->skip(ftype);
break;
@@ -312,6 +325,11 @@ uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot
xfer += oprot->writeString(this->storageResourceId);
xfer += oprot->writeFieldEnd();
}
+ if (this->__isset.isReadOnly) {
+ xfer += oprot->writeFieldBegin("isReadOnly", ::apache::thrift::protocol::T_BOOL, 13);
+ xfer += oprot->writeBool(this->isReadOnly);
+ xfer += oprot->writeFieldEnd();
+ }
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
@@ -331,6 +349,7 @@ void swap(InputDataObjectType &a, InputDataObjectType &b) {
swap(a.requiredToAddedToCommandLine, b.requiredToAddedToCommandLine);
swap(a.dataStaged, b.dataStaged);
swap(a.storageResourceId, b.storageResourceId);
+ swap(a.isReadOnly, b.isReadOnly);
swap(a.__isset, b.__isset);
}
@@ -347,6 +366,7 @@ InputDataObjectType::InputDataObjectType(const InputDataObjectType& other1) {
requiredToAddedToCommandLine = other1.requiredToAddedToCommandLine;
dataStaged = other1.dataStaged;
storageResourceId = other1.storageResourceId;
+ isReadOnly = other1.isReadOnly;
__isset = other1.__isset;
}
InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& other2) {
@@ -362,6 +382,7 @@ InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& o
requiredToAddedToCommandLine = other2.requiredToAddedToCommandLine;
dataStaged = other2.dataStaged;
storageResourceId = other2.storageResourceId;
+ isReadOnly = other2.isReadOnly;
__isset = other2.__isset;
return *this;
}
@@ -380,6 +401,7 @@ void InputDataObjectType::printTo(std::ostream& out) const {
out << ", " << "requiredToAddedToCommandLine="; (__isset.requiredToAddedToCommandLine ? (out << to_string(requiredToAddedToCommandLine)) : (out << "<null>"));
out << ", " << "dataStaged="; (__isset.dataStaged ? (out << to_string(dataStaged)) : (out << "<null>"));
out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
+ out << ", " << "isReadOnly="; (__isset.isReadOnly ? (out << to_string(isReadOnly)) : (out << "<null>"));
out << ")";
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
index 89aecb8..491f47c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
@@ -56,7 +56,7 @@ class InputDataObjectType;
class OutputDataObjectType;
typedef struct _InputDataObjectType__isset {
- _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false), storageResourceId(false) {}
+ _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false), storageResourceId(false), isReadOnly(false) {}
bool value :1;
bool type :1;
bool applicationArgument :1;
@@ -68,6 +68,7 @@ typedef struct _InputDataObjectType__isset {
bool requiredToAddedToCommandLine :1;
bool dataStaged :1;
bool storageResourceId :1;
+ bool isReadOnly :1;
} _InputDataObjectType__isset;
class InputDataObjectType {
@@ -75,7 +76,7 @@ class InputDataObjectType {
InputDataObjectType(const InputDataObjectType&);
InputDataObjectType& operator=(const InputDataObjectType&);
- InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0), storageResourceId() {
+ InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0), storageResourceId(), isReadOnly(0) {
}
virtual ~InputDataObjectType() throw();
@@ -91,6 +92,7 @@ class InputDataObjectType {
bool requiredToAddedToCommandLine;
bool dataStaged;
std::string storageResourceId;
+ bool isReadOnly;
_InputDataObjectType__isset __isset;
@@ -118,6 +120,8 @@ class InputDataObjectType {
void __set_storageResourceId(const std::string& val);
+ void __set_isReadOnly(const bool val);
+
bool operator == (const InputDataObjectType & rhs) const
{
if (!(name == rhs.name))
@@ -166,6 +170,10 @@ class InputDataObjectType {
return false;
else if (__isset.storageResourceId && !(storageResourceId == rhs.storageResourceId))
return false;
+ if (__isset.isReadOnly != rhs.__isset.isReadOnly)
+ return false;
+ else if (__isset.isReadOnly && !(isReadOnly == rhs.isReadOnly))
+ return false;
return true;
}
bool operator != (const InputDataObjectType &rhs) const {
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
index fae8964..fd97025 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
@@ -117,6 +117,10 @@ class InputDataObjectType {
* @var string
*/
public $storageResourceId = null;
+ /**
+ * @var bool
+ */
+ public $isReadOnly = null;
public function __construct($vals=null) {
if (!isset(self::$_TSPEC)) {
@@ -169,6 +173,10 @@ class InputDataObjectType {
'var' => 'storageResourceId',
'type' => TType::STRING,
),
+ 13 => array(
+ 'var' => 'isReadOnly',
+ 'type' => TType::BOOL,
+ ),
);
}
if (is_array($vals)) {
@@ -208,6 +216,9 @@ class InputDataObjectType {
if (isset($vals['storageResourceId'])) {
$this->storageResourceId = $vals['storageResourceId'];
}
+ if (isset($vals['isReadOnly'])) {
+ $this->isReadOnly = $vals['isReadOnly'];
+ }
}
}
@@ -314,6 +325,13 @@ class InputDataObjectType {
$xfer += $input->skip($ftype);
}
break;
+ case 13:
+ if ($ftype == TType::BOOL) {
+ $xfer += $input->readBool($this->isReadOnly);
+ } else {
+ $xfer += $input->skip($ftype);
+ }
+ break;
default:
$xfer += $input->skip($ftype);
break;
@@ -387,6 +405,11 @@ class InputDataObjectType {
$xfer += $output->writeString($this->storageResourceId);
$xfer += $output->writeFieldEnd();
}
+ if ($this->isReadOnly !== null) {
+ $xfer += $output->writeFieldBegin('isReadOnly', TType::BOOL, 13);
+ $xfer += $output->writeBool($this->isReadOnly);
+ $xfer += $output->writeFieldEnd();
+ }
$xfer += $output->writeFieldStop();
$xfer += $output->writeStructEnd();
return $xfer;
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
index 3b255a5..0e678da 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py
@@ -92,6 +92,7 @@ class InputDataObjectType:
- requiredToAddedToCommandLine
- dataStaged
- storageResourceId
+ - isReadOnly
"""
thrift_spec = (
@@ -108,9 +109,10 @@ class InputDataObjectType:
(10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ), # 10
(11, TType.BOOL, 'dataStaged', None, None, ), # 11
(12, TType.STRING, 'storageResourceId', None, None, ), # 12
+ (13, TType.BOOL, 'isReadOnly', None, None, ), # 13
)
- def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None, storageResourceId=None,):
+ def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None, storageResourceId=None, isReadOnly=None,):
self.name = name
self.value = value
self.type = type
@@ -123,6 +125,7 @@ class InputDataObjectType:
self.requiredToAddedToCommandLine = requiredToAddedToCommandLine
self.dataStaged = dataStaged
self.storageResourceId = storageResourceId
+ self.isReadOnly = isReadOnly
def read(self, iprot):
if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -193,6 +196,11 @@ class InputDataObjectType:
self.storageResourceId = iprot.readString()
else:
iprot.skip(ftype)
+ elif fid == 13:
+ if ftype == TType.BOOL:
+ self.isReadOnly = iprot.readBool()
+ else:
+ iprot.skip(ftype)
else:
iprot.skip(ftype)
iprot.readFieldEnd()
@@ -251,6 +259,10 @@ class InputDataObjectType:
oprot.writeFieldBegin('storageResourceId', TType.STRING, 12)
oprot.writeString(self.storageResourceId)
oprot.writeFieldEnd()
+ if self.isReadOnly is not None:
+ oprot.writeFieldBegin('isReadOnly', TType.BOOL, 13)
+ oprot.writeBool(self.isReadOnly)
+ oprot.writeFieldEnd()
oprot.writeFieldStop()
oprot.writeStructEnd()
@@ -274,6 +286,7 @@ class InputDataObjectType:
value = (value * 31) ^ hash(self.requiredToAddedToCommandLine)
value = (value * 31) ^ hash(self.dataStaged)
value = (value * 31) ^ hash(self.storageResourceId)
+ value = (value * 31) ^ hash(self.isReadOnly)
return value
def __repr__(self):
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 620b937..dcb6f2f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -23,32 +23,15 @@
*/
package org.apache.airavata.model.application.io;
+import org.apache.thrift.EncodingUtils;
+import org.apache.thrift.protocol.TTupleProtocol;
import org.apache.thrift.scheme.IScheme;
import org.apache.thrift.scheme.SchemeFactory;
import org.apache.thrift.scheme.StandardScheme;
-
import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
+
import javax.annotation.Generated;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import java.util.*;
@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
/**
@@ -93,6 +76,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
private static final org.apache.thrift.protocol.TField REQUIRED_TO_ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("requiredToAddedToCommandLine", org.apache.thrift.protocol.TType.BOOL, (short)10);
private static final org.apache.thrift.protocol.TField DATA_STAGED_FIELD_DESC = new org.apache.thrift.protocol.TField("dataStaged", org.apache.thrift.protocol.TType.BOOL, (short)11);
private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)12);
+ private static final org.apache.thrift.protocol.TField IS_READ_ONLY_FIELD_DESC = new org.apache.thrift.protocol.TField("isReadOnly", org.apache.thrift.protocol.TType.BOOL, (short) 13);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -112,6 +96,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
private boolean requiredToAddedToCommandLine; // optional
private boolean dataStaged; // optional
private String storageResourceId; // optional
+ private boolean isReadOnly; // optional
/** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -130,7 +115,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
IS_REQUIRED((short)9, "isRequired"),
REQUIRED_TO_ADDED_TO_COMMAND_LINE((short)10, "requiredToAddedToCommandLine"),
DATA_STAGED((short)11, "dataStaged"),
- STORAGE_RESOURCE_ID((short)12, "storageResourceId");
+ STORAGE_RESOURCE_ID((short) 12, "storageResourceId"),
+ IS_READ_ONLY((short) 13, "isReadOnly");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -169,6 +155,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
return DATA_STAGED;
case 12: // STORAGE_RESOURCE_ID
return STORAGE_RESOURCE_ID;
+ case 13: // IS_READ_ONLY
+ return IS_READ_ONLY;
default:
return null;
}
@@ -214,8 +202,9 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
private static final int __ISREQUIRED_ISSET_ID = 2;
private static final int __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID = 3;
private static final int __DATASTAGED_ISSET_ID = 4;
+ private static final int __ISREADONLY_ISSET_ID = 5;
private byte __isset_bitfield = 0;
- private static final _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA,_Fields.INPUT_ORDER,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_STAGED,_Fields.STORAGE_RESOURCE_ID};
+ private static final _Fields optionals[] = {_Fields.VALUE, _Fields.TYPE, _Fields.APPLICATION_ARGUMENT, _Fields.STANDARD_INPUT, _Fields.USER_FRIENDLY_DESCRIPTION, _Fields.META_DATA, _Fields.INPUT_ORDER, _Fields.IS_REQUIRED, _Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE, _Fields.DATA_STAGED, _Fields.STORAGE_RESOURCE_ID, _Fields.IS_READ_ONLY};
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);
@@ -243,6 +232,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+ tmpMap.put(_Fields.IS_READ_ONLY, new org.apache.thrift.meta_data.FieldMetaData("isReadOnly", org.apache.thrift.TFieldRequirementType.OPTIONAL,
+ new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
metaDataMap = Collections.unmodifiableMap(tmpMap);
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InputDataObjectType.class, metaDataMap);
}
@@ -288,6 +279,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
if (other.isSetStorageResourceId()) {
this.storageResourceId = other.storageResourceId;
}
+ this.isReadOnly = other.isReadOnly;
}
public InputDataObjectType deepCopy() {
@@ -313,6 +305,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
setDataStagedIsSet(false);
this.dataStaged = false;
this.storageResourceId = null;
+ setIsReadOnlyIsSet(false);
+ this.isReadOnly = false;
}
public String getName() {
@@ -594,6 +588,30 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
}
}
+ public boolean isIsReadOnly() {
+ return this.isReadOnly;
+ }
+
+ public void setIsReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ setIsReadOnlyIsSet(true);
+ }
+
+ public void unsetIsReadOnly() {
+ __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __ISREADONLY_ISSET_ID);
+ }
+
+ /**
+ * Returns true if field isReadOnly is set (has been assigned a value) and false otherwise
+ */
+ public boolean isSetIsReadOnly() {
+ return EncodingUtils.testBit(__isset_bitfield, __ISREADONLY_ISSET_ID);
+ }
+
+ public void setIsReadOnlyIsSet(boolean value) {
+ __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __ISREADONLY_ISSET_ID, value);
+ }
+
public void setFieldValue(_Fields field, Object value) {
switch (field) {
case NAME:
@@ -692,6 +710,14 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
}
break;
+ case IS_READ_ONLY:
+ if (value == null) {
+ unsetIsReadOnly();
+ } else {
+ setIsReadOnly((Boolean) value);
+ }
+ break;
+
}
}
@@ -733,6 +759,9 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
case STORAGE_RESOURCE_ID:
return getStorageResourceId();
+ case IS_READ_ONLY:
+ return isIsReadOnly();
+
}
throw new IllegalStateException();
}
@@ -768,6 +797,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
return isSetDataStaged();
case STORAGE_RESOURCE_ID:
return isSetStorageResourceId();
+ case IS_READ_ONLY:
+ return isSetIsReadOnly();
}
throw new IllegalStateException();
}
@@ -893,6 +924,15 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
return false;
}
+ boolean this_present_isReadOnly = true && this.isSetIsReadOnly();
+ boolean that_present_isReadOnly = true && that.isSetIsReadOnly();
+ if (this_present_isReadOnly || that_present_isReadOnly) {
+ if (!(this_present_isReadOnly && that_present_isReadOnly))
+ return false;
+ if (this.isReadOnly != that.isReadOnly)
+ return false;
+ }
+
return true;
}
@@ -960,6 +1000,11 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
if (present_storageResourceId)
list.add(storageResourceId);
+ boolean present_isReadOnly = true && (isSetIsReadOnly());
+ list.add(present_isReadOnly);
+ if (present_isReadOnly)
+ list.add(isReadOnly);
+
return list.hashCode();
}
@@ -1091,6 +1136,16 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
return lastComparison;
}
}
+ lastComparison = Boolean.valueOf(isSetIsReadOnly()).compareTo(other.isSetIsReadOnly());
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ if (isSetIsReadOnly()) {
+ lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.isReadOnly, other.isReadOnly);
+ if (lastComparison != 0) {
+ return lastComparison;
+ }
+ }
return 0;
}
@@ -1208,6 +1263,12 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
}
first = false;
}
+ if (isSetIsReadOnly()) {
+ if (!first) sb.append(", ");
+ sb.append("isReadOnly:");
+ sb.append(this.isReadOnly);
+ first = false;
+ }
sb.append(")");
return sb.toString();
}
@@ -1353,6 +1414,14 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
+ case 13: // IS_READ_ONLY
+ if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+ struct.isReadOnly = iprot.readBool();
+ struct.setIsReadOnlyIsSet(true);
+ } else {
+ org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+ }
+ break;
default:
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
@@ -1438,6 +1507,11 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
oprot.writeFieldEnd();
}
}
+ if (struct.isSetIsReadOnly()) {
+ oprot.writeFieldBegin(IS_READ_ONLY_FIELD_DESC);
+ oprot.writeBool(struct.isReadOnly);
+ oprot.writeFieldEnd();
+ }
oprot.writeFieldStop();
oprot.writeStructEnd();
}
@@ -1490,7 +1564,10 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
if (struct.isSetStorageResourceId()) {
optionals.set(10);
}
- oprot.writeBitSet(optionals, 11);
+ if (struct.isSetIsReadOnly()) {
+ optionals.set(11);
+ }
+ oprot.writeBitSet(optionals, 12);
if (struct.isSetValue()) {
oprot.writeString(struct.value);
}
@@ -1524,6 +1601,9 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
if (struct.isSetStorageResourceId()) {
oprot.writeString(struct.storageResourceId);
}
+ if (struct.isSetIsReadOnly()) {
+ oprot.writeBool(struct.isReadOnly);
+ }
}
@Override
@@ -1531,7 +1611,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
TTupleProtocol iprot = (TTupleProtocol) prot;
struct.name = iprot.readString();
struct.setNameIsSet(true);
- BitSet incoming = iprot.readBitSet(11);
+ BitSet incoming = iprot.readBitSet(12);
if (incoming.get(0)) {
struct.value = iprot.readString();
struct.setValueIsSet(true);
@@ -1576,6 +1656,10 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj
struct.storageResourceId = iprot.readString();
struct.setStorageResourceIdIsSet(true);
}
+ if (incoming.get(11)) {
+ struct.isReadOnly = iprot.readBool();
+ struct.setIsReadOnlyIsSet(true);
+ }
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationInterfaceImpl.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationInterfaceImpl.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationInterfaceImpl.java
index 825fe49..a4bfac2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationInterfaceImpl.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/impl/ApplicationInterfaceImpl.java
@@ -238,6 +238,7 @@ public class ApplicationInterfaceImpl implements ApplicationInterface {
inputResource.setRequired(input.isIsRequired());
inputResource.setRequiredToCMD(input.isRequiredToAddedToCommandLine());
inputResource.setDataStaged(input.isDataStaged());
+ inputResource.setIsReadOnly(input.isIsReadOnly());
inputResource.save();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationIntInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationIntInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationIntInput.java
index 2487387..d0c005d 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationIntInput.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/model/ApplicationIntInput.java
@@ -55,6 +55,8 @@ public class ApplicationIntInput implements Serializable {
private boolean requiredToCMD;
@Column(name = "DATA_STAGED")
private boolean dataStaged;
+ @Column(name = "IS_READ_ONLY")
+ private boolean isReadOnly;
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "INTERFACE_ID")
@@ -163,4 +165,13 @@ public class ApplicationIntInput implements Serializable {
public void setDataStaged(boolean dataStaged) {
this.dataStaged = dataStaged;
}
+
+
+ public boolean isReadOnly() {
+ return isReadOnly;
+ }
+
+ public void setReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
index b04e55a..6136ea9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/resources/ApplicationInputResource.java
@@ -53,6 +53,7 @@ public class ApplicationInputResource extends AppCatAbstractResource {
private boolean isRequired;
private boolean requiredToCMD;
private boolean dataStaged;
+ private boolean isReadOnly;
private AppInterfaceResource appInterfaceResource;
@@ -332,6 +333,7 @@ public class ApplicationInputResource extends AppCatAbstractResource {
applicationInput.setRequiredToCMD(requiredToCMD);
applicationInput.setRequired(isRequired);
applicationInput.setDataStaged(dataStaged);
+ applicationInput.setReadOnly(isReadOnly);
if (existingApplicationInput == null) {
em.persist(applicationInput);
} else {
@@ -496,4 +498,12 @@ public class ApplicationInputResource extends AppCatAbstractResource {
public void setDataStaged(boolean dataStaged) {
this.dataStaged = dataStaged;
}
+
+ public boolean isReadOnly() {
+ return isReadOnly;
+ }
+
+ public void setIsReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
index efac1e2..4a77af2 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogJPAUtils.java
@@ -868,6 +868,7 @@ public class AppCatalogJPAUtils {
resource.setRequired(o.isRequired());
resource.setRequiredToCMD(o.isRequiredToCMD());
resource.setDataStaged(o.isDataStaged());
+ resource.setIsReadOnly(o.isReadOnly());
resource.setAppInterfaceResource((AppInterfaceResource) createAppInterfaceResource(o.getApplicationInterface()));
}
return resource;
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
index b20c736..c29ec0b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/app/catalog/util/AppCatalogThriftConversion.java
@@ -687,6 +687,7 @@ public class AppCatalogThriftConversion {
inputDataObjectType.setIsRequired(input.getRequired());
inputDataObjectType.setRequiredToAddedToCommandLine(input.getRequiredToCMD());
inputDataObjectType.setDataStaged(input.isDataStaged());
+ inputDataObjectType.setIsReadOnly(input.isReadOnly());
return inputDataObjectType;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
index 5411a81..58c6f9e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java
@@ -176,6 +176,7 @@ public class ExperimentRegistry {
resource.setIsRequired(input.isIsRequired());
resource.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine());
resource.setStorageResourceId(input.getStorageResourceId());
+ resource.setIsReadOnly(input.isIsReadOnly());
resource.save();
}
} catch (Exception e) {
@@ -365,6 +366,7 @@ public class ExperimentRegistry {
resource.setIsRequired(input.isIsRequired());
resource.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine());
resource.setStorageResourceId(input.getStorageResourceId());
+ resource.setIsReadOnly(input.isIsReadOnly());
resource.save();
}
return processID;
@@ -663,6 +665,7 @@ public class ExperimentRegistry {
exinput.setIsRequired(input.isIsRequired());
exinput.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine());
exinput.setStorageResourceId(input.getStorageResourceId());
+ exinput.setIsReadOnly(input.isIsReadOnly());
exinput.save();
}
}
@@ -847,6 +850,7 @@ public class ExperimentRegistry {
exinput.setIsRequired(input.isIsRequired());
exinput.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine());
exinput.setStorageResourceId(input.getStorageResourceId());
+ exinput.setIsReadOnly(input.isIsReadOnly());
exinput.save();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java
index dc49741..96c1989 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java
@@ -43,6 +43,7 @@ public class ExperimentInput {
private boolean requiredToAddedToCmd;
private boolean dataStaged;
private String storageResourceId;
+ private boolean isReadOnly;
private Experiment experiment;
@Id
@@ -165,6 +166,15 @@ public class ExperimentInput {
this.dataStaged = dataStaged;
}
+ @Column(name = "IS_READ_ONLY")
+ public boolean isReadOnly() {
+ return isReadOnly;
+ }
+
+ public void setIsReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
+
// @Override
// public boolean equals(Object o) {
// if (this == o) return true;
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
index 0e30164..b74de10 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
@@ -44,6 +44,7 @@ public class ProcessInput {
private boolean requiredToAddedToCmd;
private boolean dataStaged;
private String storageResourceId;
+ private boolean isReadOnly;
private Process process;
@Id
@@ -166,6 +167,14 @@ public class ProcessInput {
this.storageResourceId = storageResourceId;
}
+ @Column(name = "IS_READ_ONLY")
+ public boolean getIsReadOnly() {
+ return isReadOnly;
+ }
+
+ public void setIsReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
// @Override
// public boolean equals(Object o) {
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java
index e20aa25..c08513f 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java
@@ -48,6 +48,7 @@ public class ExperimentInputResource extends AbstractExpCatResource {
private boolean requiredToAddedToCmd;
private boolean dataStaged = false;
private String storageResourceId;
+ private boolean isReadOnly;
public String getExperimentId() {
return experimentId;
@@ -153,6 +154,14 @@ public class ExperimentInputResource extends AbstractExpCatResource {
this.dataStaged = dataStaged;
}
+ public boolean isReadOnly() {
+ return isReadOnly;
+ }
+
+ public void setIsReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
+
public ExperimentCatResource create(ResourceType type) throws RegistryException {
logger.error("Unsupported resource type for process input data resource.", new UnsupportedOperationException());
throw new UnsupportedOperationException();
@@ -216,6 +225,7 @@ public class ExperimentInputResource extends AbstractExpCatResource {
experimentInput.setRequiredToAddedToCmd(requiredToAddedToCmd);
experimentInput.setDataStaged(dataStaged);
experimentInput.setStorageResourceId(storageResourceId);
+ experimentInput.setIsReadOnly(isReadOnly);
if (existingExpInput == null){
em.persist(experimentInput);
}else {
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java
index fa09e88..4dc808a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java
@@ -48,6 +48,7 @@ public class ProcessInputResource extends AbstractExpCatResource {
private boolean requiredToAddedToCmd = false;
private boolean dataStaged = false;
private String storageResourceId;
+ private boolean isReadOnly;
public String getProcessId() {
return processId;
@@ -153,6 +154,14 @@ public class ProcessInputResource extends AbstractExpCatResource {
this.storageResourceId = storageResourceId;
}
+ public boolean isReadOnly() {
+ return isReadOnly;
+ }
+
+ public void setIsReadOnly(boolean isReadOnly) {
+ this.isReadOnly = isReadOnly;
+ }
+
public ExperimentCatResource create(ResourceType type) throws RegistryException {
logger.error("Unsupported resource type for process input data resource.", new UnsupportedOperationException());
throw new UnsupportedOperationException();
@@ -216,6 +225,7 @@ public class ProcessInputResource extends AbstractExpCatResource {
processInput.setRequiredToAddedToCmd(requiredToAddedToCmd);
processInput.setDataStaged(dataStaged);
processInput.setStorageResourceId(storageResourceId);
+ processInput.setIsReadOnly(isReadOnly);
if (existingProInput == null){
em.persist(processInput);
}else {
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
index 2f5ff99..70c9b33 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
@@ -483,6 +483,7 @@ public class Utils {
inputResource.setIsRequired(o.getIsRequired());
inputResource.setRequiredToAddedToCmd(o.getRequiredToAddedToCmd());
inputResource.setDataStaged(o.getDataStaged());
+ inputResource.setIsReadOnly(o.isReadOnly());
}
return inputResource;
}
@@ -616,6 +617,7 @@ public class Utils {
inputResource.setIsRequired(o.getIsRequired());
inputResource.setRequiredToAddedToCmd(o.getRequiredToAddedToCmd());
inputResource.setDataStaged(o.getDataStaged());
+ inputResource.setIsReadOnly(o.getIsReadOnly());
}
return inputResource;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
index f84b3d8..077ab44 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java
@@ -185,6 +185,7 @@ public class ThriftDataModelConversion {
dataObjectType.setIsRequired(inputResource.getIsRequired());
dataObjectType.setRequiredToAddedToCommandLine(inputResource.getRequiredToAddedToCmd());
dataObjectType.setDataStaged(inputResource.getDataStaged());
+ dataObjectType.setIsReadOnly(inputResource.isReadOnly());
dataObjectType.setStorageResourceId(inputResource.getStorageResourceId());
return dataObjectType;
}else if (object instanceof ProcessInputResource){
@@ -201,6 +202,7 @@ public class ThriftDataModelConversion {
dataObjectType.setRequiredToAddedToCommandLine(inputResource.getRequiredToAddedToCmd());
dataObjectType.setDataStaged(inputResource.getDataStaged());
dataObjectType.setStorageResourceId(inputResource.getStorageResourceId());
+ dataObjectType.setIsReadOnly(inputResource.isReadOnly());
return dataObjectType;
}else {
return null;
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
index 4716f98..1f744ee 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-derby.sql
@@ -301,6 +301,7 @@ CREATE TABLE APPLICATION_INPUT
REQUIRED_TO_COMMANDLINE SMALLINT,
DATA_STAGED SMALLINT,
USER_FRIENDLY_DESC VARCHAR(255),
+ IS_READ_ONLY SMALLINT,
PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
index 4ef7c4b..12a1953 100644
--- a/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/appcatalog-mysql.sql
@@ -300,6 +300,7 @@ CREATE TABLE APPLICATION_INPUT
IS_REQUIRED SMALLINT,
REQUIRED_TO_COMMANDLINE SMALLINT,
DATA_STAGED SMALLINT,
+ IS_READ_ONLY SMALLINT,
PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
index c1dcb05..5d9bf94 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -127,6 +127,7 @@ CREATE TABLE EXPERIMENT_INPUT
REQUIRED_TO_ADDED_TO_CMD SMALLINT,
DATA_STAGED SMALLINT,
STORAGE_RESOURCE_ID varchar(255),
+ IS_READ_ONLY SMALLINT,
PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME),
FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
);
@@ -249,6 +250,7 @@ CREATE TABLE PROCESS_INPUT
REQUIRED_TO_ADDED_TO_CMD SMALLINT,
DATA_STAGED SMALLINT,
STORAGE_RESOURCE_ID varchar(255),
+ IS_READ_ONLY SMALLINT,
PRIMARY KEY(PROCESS_ID,INPUT_NAME),
FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index 8d4c99f..5397a7a 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -128,6 +128,7 @@ CREATE TABLE EXPERIMENT_INPUT
REQUIRED_TO_ADDED_TO_CMD tinyint(1),
DATA_STAGED tinyint(1),
STORAGE_RESOURCE_ID varchar(255),
+ IS_READ_ONLY SMALLINT,
PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME),
FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
);
@@ -253,6 +254,7 @@ CREATE TABLE PROCESS_INPUT
REQUIRED_TO_ADDED_TO_CMD tinyint(1),
DATA_STAGED tinyint(1),
STORAGE_RESOURCE_ID varchar(255),
+ IS_READ_ONLY SMALLINT,
PRIMARY KEY(PROCESS_ID,INPUT_NAME),
FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentInputResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentInputResourceTest.java b/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentInputResourceTest.java
index ac7c5bb..5895c9a 100644
--- a/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentInputResourceTest.java
+++ b/modules/registry/registry-core/src/test/java/org/apache/airavata/experiment/catalog/ExperimentInputResourceTest.java
@@ -55,6 +55,7 @@ public class ExperimentInputResourceTest extends AbstractResourceTest {
experimentInputResource.setInputName("testKey");
experimentInputResource.setInputValue("testValue");
experimentInputResource.setDataType("string");
+ experimentInputResource.setIsReadOnly(false);
experimentInputResource.save();
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/84fcd360/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift
----------------------------------------------------------------------
diff --git a/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift b/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift
index e4e5d1e..c8490aa 100644
--- a/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift
+++ b/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift
@@ -77,7 +77,8 @@ struct InputDataObjectType {
9: optional bool isRequired,
10: optional bool requiredToAddedToCommandLine,
11: optional bool dataStaged,
- 12: optional string storageResourceId
+ 12: optional string storageResourceId,
+ 13: optional bool isReadOnly
}
/**