You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by di...@apache.org on 2020/06/17 08:13:12 UTC

[airavata] branch param-sweep updated: Missing generated thrift stubs

This is an automated email from the ASF dual-hosted git repository.

dimuthuupe pushed a commit to branch param-sweep
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/param-sweep by this push:
     new 1dddb23  Missing generated thrift stubs
1dddb23 is described below

commit 1dddb23a4553fd39e37fcbb298a79c8222a21865
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Wed Jun 17 04:12:55 2020 -0400

    Missing generated thrift stubs
---
 .../java/org/apache/airavata/api/Airavata.java     | 370 +++++++--------------
 .../airavata/api/Airavata-remote                   |   8 +-
 .../airavata-python-sdk/airavata/api/Airavata.py   |  92 ++---
 3 files changed, 149 insertions(+), 321 deletions(-)

diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index 16b4185..58c14f1 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -2994,7 +2994,7 @@ public class Airavata {
 
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getParsingTemplatesForApplication(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, java.lang.String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift. [...]
 
-    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> templateIds, java.lang.String experimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
+    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String experimentId, java.lang.String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TEx [...]
 
@@ -3384,7 +3384,7 @@ public class Airavata {
 
     public void getParsingTemplatesForApplication(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException;
 
-    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> templateIds, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
     public void getParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String experimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException;
 
@@ -10335,18 +10335,17 @@ public class Airavata {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParsingTemplatesForApplication failed: unknown result");
     }
 
-    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> templateIds, java.lang.String experimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
+    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
-      send_addParsingTemplatesForExperiment(authzToken, templateIds, experimentId);
+      send_addParsingTemplatesForExperiment(authzToken, registration);
       recv_addParsingTemplatesForExperiment();
     }
 
-    public void send_addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> templateIds, java.lang.String experimentId) throws org.apache.thrift.TException
+    public void send_addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration) throws org.apache.thrift.TException
     {
       addParsingTemplatesForExperiment_args args = new addParsingTemplatesForExperiment_args();
       args.setAuthzToken(authzToken);
-      args.setTemplateIds(templateIds);
-      args.setExperimentId(experimentId);
+      args.setRegistration(registration);
       sendBase("addParsingTemplatesForExperiment", args);
     }
 
@@ -17530,30 +17529,27 @@ public class Airavata {
       }
     }
 
-    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> templateIds, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+    public void addParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addParsingTemplatesForExperiment_call method_call = new addParsingTemplatesForExperiment_call(authzToken, templateIds, experimentId, resultHandler, this, ___protocolFactory, ___transport);
+      addParsingTemplatesForExperiment_call method_call = new addParsingTemplatesForExperiment_call(authzToken, registration, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addParsingTemplatesForExperiment_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
       private org.apache.airavata.model.security.AuthzToken authzToken;
-      private java.util.List<java.lang.String> templateIds;
-      private java.lang.String experimentId;
-      public addParsingTemplatesForExperiment_call(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> templateIds, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration;
+      public addParsingTemplatesForExperiment_call(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
-        this.templateIds = templateIds;
-        this.experimentId = experimentId;
+        this.registration = registration;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addParsingTemplatesForExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addParsingTemplatesForExperiment_args args = new addParsingTemplatesForExperiment_args();
         args.setAuthzToken(authzToken);
-        args.setTemplateIds(templateIds);
-        args.setExperimentId(experimentId);
+        args.setRegistration(registration);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -23668,7 +23664,7 @@ public class Airavata {
       public addParsingTemplatesForExperiment_result getResult(I iface, addParsingTemplatesForExperiment_args args) throws org.apache.thrift.TException {
         addParsingTemplatesForExperiment_result result = new addParsingTemplatesForExperiment_result();
         try {
-          iface.addParsingTemplatesForExperiment(args.authzToken, args.templateIds, args.experimentId);
+          iface.addParsingTemplatesForExperiment(args.authzToken, args.registration);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -38664,7 +38660,7 @@ public class Airavata {
       }
 
       public void start(I iface, addParsingTemplatesForExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
-        iface.addParsingTemplatesForExperiment(args.authzToken, args.templateIds, args.experimentId,resultHandler);
+        iface.addParsingTemplatesForExperiment(args.authzToken, args.registration,resultHandler);
       }
     }
 
@@ -291014,21 +291010,18 @@ public class Airavata {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addParsingTemplatesForExperiment_args");
 
     private static final org.apache.thrift.protocol.TField AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField TEMPLATE_IDS_FIELD_DESC = new org.apache.thrift.protocol.TField("templateIds", org.apache.thrift.protocol.TType.LIST, (short)2);
-    private static final org.apache.thrift.protocol.TField EXPERIMENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentId", org.apache.thrift.protocol.TType.STRING, (short)3);
+    private static final org.apache.thrift.protocol.TField REGISTRATION_FIELD_DESC = new org.apache.thrift.protocol.TField("registration", org.apache.thrift.protocol.TType.STRUCT, (short)2);
 
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addParsingTemplatesForExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addParsingTemplatesForExperiment_argsTupleSchemeFactory();
 
     public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.util.List<java.lang.String> templateIds; // required
-    public java.lang.String experimentId; // required
+    public org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
     public enum _Fields implements org.apache.thrift.TFieldIdEnum {
       AUTHZ_TOKEN((short)1, "authzToken"),
-      TEMPLATE_IDS((short)2, "templateIds"),
-      EXPERIMENT_ID((short)3, "experimentId");
+      REGISTRATION((short)2, "registration");
 
       private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -291045,10 +291038,8 @@ public class Airavata {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
             return AUTHZ_TOKEN;
-          case 2: // TEMPLATE_IDS
-            return TEMPLATE_IDS;
-          case 3: // EXPERIMENT_ID
-            return EXPERIMENT_ID;
+          case 2: // REGISTRATION
+            return REGISTRATION;
           default:
             return null;
         }
@@ -291094,11 +291085,8 @@ public class Airavata {
       java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
       tmpMap.put(_Fields.AUTHZ_TOKEN, new org.apache.thrift.meta_data.FieldMetaData("authzToken", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.TEMPLATE_IDS, new org.apache.thrift.meta_data.FieldMetaData("templateIds", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
-              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
-      tmpMap.put(_Fields.EXPERIMENT_ID, new org.apache.thrift.meta_data.FieldMetaData("experimentId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.REGISTRATION, new org.apache.thrift.meta_data.FieldMetaData("registration", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration.class)));
       metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(addParsingTemplatesForExperiment_args.class, metaDataMap);
     }
@@ -291108,13 +291096,11 @@ public class Airavata {
 
     public addParsingTemplatesForExperiment_args(
       org.apache.airavata.model.security.AuthzToken authzToken,
-      java.util.List<java.lang.String> templateIds,
-      java.lang.String experimentId)
+      org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration)
     {
       this();
       this.authzToken = authzToken;
-      this.templateIds = templateIds;
-      this.experimentId = experimentId;
+      this.registration = registration;
     }
 
     /**
@@ -291124,12 +291110,8 @@ public class Airavata {
       if (other.isSetAuthzToken()) {
         this.authzToken = new org.apache.airavata.model.security.AuthzToken(other.authzToken);
       }
-      if (other.isSetTemplateIds()) {
-        java.util.List<java.lang.String> __this__templateIds = new java.util.ArrayList<java.lang.String>(other.templateIds);
-        this.templateIds = __this__templateIds;
-      }
-      if (other.isSetExperimentId()) {
-        this.experimentId = other.experimentId;
+      if (other.isSetRegistration()) {
+        this.registration = new org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration(other.registration);
       }
     }
 
@@ -291140,8 +291122,7 @@ public class Airavata {
     @Override
     public void clear() {
       this.authzToken = null;
-      this.templateIds = null;
-      this.experimentId = null;
+      this.registration = null;
     }
 
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
@@ -291168,66 +291149,27 @@ public class Airavata {
       }
     }
 
-    public int getTemplateIdsSize() {
-      return (this.templateIds == null) ? 0 : this.templateIds.size();
+    public org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration getRegistration() {
+      return this.registration;
     }
 
-    public java.util.Iterator<java.lang.String> getTemplateIdsIterator() {
-      return (this.templateIds == null) ? null : this.templateIds.iterator();
-    }
-
-    public void addToTemplateIds(java.lang.String elem) {
-      if (this.templateIds == null) {
-        this.templateIds = new java.util.ArrayList<java.lang.String>();
-      }
-      this.templateIds.add(elem);
-    }
-
-    public java.util.List<java.lang.String> getTemplateIds() {
-      return this.templateIds;
-    }
-
-    public addParsingTemplatesForExperiment_args setTemplateIds(java.util.List<java.lang.String> templateIds) {
-      this.templateIds = templateIds;
+    public addParsingTemplatesForExperiment_args setRegistration(org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration registration) {
+      this.registration = registration;
       return this;
     }
 
-    public void unsetTemplateIds() {
-      this.templateIds = null;
+    public void unsetRegistration() {
+      this.registration = null;
     }
 
-    /** Returns true if field templateIds is set (has been assigned a value) and false otherwise */
-    public boolean isSetTemplateIds() {
-      return this.templateIds != null;
+    /** Returns true if field registration is set (has been assigned a value) and false otherwise */
+    public boolean isSetRegistration() {
+      return this.registration != null;
     }
 
-    public void setTemplateIdsIsSet(boolean value) {
+    public void setRegistrationIsSet(boolean value) {
       if (!value) {
-        this.templateIds = null;
-      }
-    }
-
-    public java.lang.String getExperimentId() {
-      return this.experimentId;
-    }
-
-    public addParsingTemplatesForExperiment_args setExperimentId(java.lang.String experimentId) {
-      this.experimentId = experimentId;
-      return this;
-    }
-
-    public void unsetExperimentId() {
-      this.experimentId = null;
-    }
-
-    /** Returns true if field experimentId is set (has been assigned a value) and false otherwise */
-    public boolean isSetExperimentId() {
-      return this.experimentId != null;
-    }
-
-    public void setExperimentIdIsSet(boolean value) {
-      if (!value) {
-        this.experimentId = null;
+        this.registration = null;
       }
     }
 
@@ -291241,19 +291183,11 @@ public class Airavata {
         }
         break;
 
-      case TEMPLATE_IDS:
+      case REGISTRATION:
         if (value == null) {
-          unsetTemplateIds();
+          unsetRegistration();
         } else {
-          setTemplateIds((java.util.List<java.lang.String>)value);
-        }
-        break;
-
-      case EXPERIMENT_ID:
-        if (value == null) {
-          unsetExperimentId();
-        } else {
-          setExperimentId((java.lang.String)value);
+          setRegistration((org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration)value);
         }
         break;
 
@@ -291265,11 +291199,8 @@ public class Airavata {
       case AUTHZ_TOKEN:
         return getAuthzToken();
 
-      case TEMPLATE_IDS:
-        return getTemplateIds();
-
-      case EXPERIMENT_ID:
-        return getExperimentId();
+      case REGISTRATION:
+        return getRegistration();
 
       }
       throw new java.lang.IllegalStateException();
@@ -291284,10 +291215,8 @@ public class Airavata {
       switch (field) {
       case AUTHZ_TOKEN:
         return isSetAuthzToken();
-      case TEMPLATE_IDS:
-        return isSetTemplateIds();
-      case EXPERIMENT_ID:
-        return isSetExperimentId();
+      case REGISTRATION:
+        return isSetRegistration();
       }
       throw new java.lang.IllegalStateException();
     }
@@ -291316,21 +291245,12 @@ public class Airavata {
           return false;
       }
 
-      boolean this_present_templateIds = true && this.isSetTemplateIds();
-      boolean that_present_templateIds = true && that.isSetTemplateIds();
-      if (this_present_templateIds || that_present_templateIds) {
-        if (!(this_present_templateIds && that_present_templateIds))
-          return false;
-        if (!this.templateIds.equals(that.templateIds))
-          return false;
-      }
-
-      boolean this_present_experimentId = true && this.isSetExperimentId();
-      boolean that_present_experimentId = true && that.isSetExperimentId();
-      if (this_present_experimentId || that_present_experimentId) {
-        if (!(this_present_experimentId && that_present_experimentId))
+      boolean this_present_registration = true && this.isSetRegistration();
+      boolean that_present_registration = true && that.isSetRegistration();
+      if (this_present_registration || that_present_registration) {
+        if (!(this_present_registration && that_present_registration))
           return false;
-        if (!this.experimentId.equals(that.experimentId))
+        if (!this.registration.equals(that.registration))
           return false;
       }
 
@@ -291345,13 +291265,9 @@ public class Airavata {
       if (isSetAuthzToken())
         hashCode = hashCode * 8191 + authzToken.hashCode();
 
-      hashCode = hashCode * 8191 + ((isSetTemplateIds()) ? 131071 : 524287);
-      if (isSetTemplateIds())
-        hashCode = hashCode * 8191 + templateIds.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetExperimentId()) ? 131071 : 524287);
-      if (isSetExperimentId())
-        hashCode = hashCode * 8191 + experimentId.hashCode();
+      hashCode = hashCode * 8191 + ((isSetRegistration()) ? 131071 : 524287);
+      if (isSetRegistration())
+        hashCode = hashCode * 8191 + registration.hashCode();
 
       return hashCode;
     }
@@ -291374,22 +291290,12 @@ public class Airavata {
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTemplateIds()).compareTo(other.isSetTemplateIds());
+      lastComparison = java.lang.Boolean.valueOf(isSetRegistration()).compareTo(other.isSetRegistration());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetTemplateIds()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.templateIds, other.templateIds);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetExperimentId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.experimentId, other.experimentId);
+      if (isSetRegistration()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.registration, other.registration);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -291422,19 +291328,11 @@ public class Airavata {
       }
       first = false;
       if (!first) sb.append(", ");
-      sb.append("templateIds:");
-      if (this.templateIds == null) {
+      sb.append("registration:");
+      if (this.registration == null) {
         sb.append("null");
       } else {
-        sb.append(this.templateIds);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("experimentId:");
-      if (this.experimentId == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.experimentId);
+        sb.append(this.registration);
       }
       first = false;
       sb.append(")");
@@ -291446,16 +291344,16 @@ public class Airavata {
       if (authzToken == null) {
         throw new org.apache.thrift.protocol.TProtocolException("Required field 'authzToken' was not present! Struct: " + toString());
       }
-      if (templateIds == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'templateIds' was not present! Struct: " + toString());
-      }
-      if (experimentId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'experimentId' was not present! Struct: " + toString());
+      if (registration == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'registration' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
       if (authzToken != null) {
         authzToken.validate();
       }
+      if (registration != null) {
+        registration.validate();
+      }
     }
 
     private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -291501,28 +291399,11 @@ public class Airavata {
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
               break;
-            case 2: // TEMPLATE_IDS
-              if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
-                {
-                  org.apache.thrift.protocol.TList _list450 = iprot.readListBegin();
-                  struct.templateIds = new java.util.ArrayList<java.lang.String>(_list450.size);
-                  java.lang.String _elem451;
-                  for (int _i452 = 0; _i452 < _list450.size; ++_i452)
-                  {
-                    _elem451 = iprot.readString();
-                    struct.templateIds.add(_elem451);
-                  }
-                  iprot.readListEnd();
-                }
-                struct.setTemplateIdsIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-              }
-              break;
-            case 3: // EXPERIMENT_ID
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-                struct.experimentId = iprot.readString();
-                struct.setExperimentIdIsSet(true);
+            case 2: // REGISTRATION
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.registration = new org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration();
+                struct.registration.read(iprot);
+                struct.setRegistrationIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -291547,21 +291428,9 @@ public class Airavata {
           struct.authzToken.write(oprot);
           oprot.writeFieldEnd();
         }
-        if (struct.templateIds != null) {
-          oprot.writeFieldBegin(TEMPLATE_IDS_FIELD_DESC);
-          {
-            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.templateIds.size()));
-            for (java.lang.String _iter453 : struct.templateIds)
-            {
-              oprot.writeString(_iter453);
-            }
-            oprot.writeListEnd();
-          }
-          oprot.writeFieldEnd();
-        }
-        if (struct.experimentId != null) {
-          oprot.writeFieldBegin(EXPERIMENT_ID_FIELD_DESC);
-          oprot.writeString(struct.experimentId);
+        if (struct.registration != null) {
+          oprot.writeFieldBegin(REGISTRATION_FIELD_DESC);
+          struct.registration.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -291582,14 +291451,7 @@ public class Airavata {
       public void write(org.apache.thrift.protocol.TProtocol prot, addParsingTemplatesForExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         struct.authzToken.write(oprot);
-        {
-          oprot.writeI32(struct.templateIds.size());
-          for (java.lang.String _iter454 : struct.templateIds)
-          {
-            oprot.writeString(_iter454);
-          }
-        }
-        oprot.writeString(struct.experimentId);
+        struct.registration.write(oprot);
       }
 
       @Override
@@ -291598,19 +291460,9 @@ public class Airavata {
         struct.authzToken = new org.apache.airavata.model.security.AuthzToken();
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
-        {
-          org.apache.thrift.protocol.TList _list455 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.templateIds = new java.util.ArrayList<java.lang.String>(_list455.size);
-          java.lang.String _elem456;
-          for (int _i457 = 0; _i457 < _list455.size; ++_i457)
-          {
-            _elem456 = iprot.readString();
-            struct.templateIds.add(_elem456);
-          }
-        }
-        struct.setTemplateIdsIsSet(true);
-        struct.experimentId = iprot.readString();
-        struct.setExperimentIdIsSet(true);
+        struct.registration = new org.apache.airavata.model.appcatalog.parser.ExperimentParsingTemplateRegistration();
+        struct.registration.read(iprot);
+        struct.setRegistrationIsSet(true);
       }
     }
 
@@ -293499,14 +293351,14 @@ public class Airavata {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list458 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list458.size);
-                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem459;
-                  for (int _i460 = 0; _i460 < _list458.size; ++_i460)
+                  org.apache.thrift.protocol.TList _list450 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list450.size);
+                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem451;
+                  for (int _i452 = 0; _i452 < _list450.size; ++_i452)
                   {
-                    _elem459 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-                    _elem459.read(iprot);
-                    struct.success.add(_elem459);
+                    _elem451 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+                    _elem451.read(iprot);
+                    struct.success.add(_elem451);
                   }
                   iprot.readListEnd();
                 }
@@ -293570,9 +293422,9 @@ public class Airavata {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter461 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter453 : struct.success)
             {
-              _iter461.write(oprot);
+              _iter453.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -293635,9 +293487,9 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter462 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter454 : struct.success)
             {
-              _iter462.write(oprot);
+              _iter454.write(oprot);
             }
           }
         }
@@ -293661,14 +293513,14 @@ public class Airavata {
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list463 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list463.size);
-            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem464;
-            for (int _i465 = 0; _i465 < _list463.size; ++_i465)
+            org.apache.thrift.protocol.TList _list455 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list455.size);
+            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem456;
+            for (int _i457 = 0; _i457 < _list455.size; ++_i457)
             {
-              _elem464 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-              _elem464.read(iprot);
-              struct.success.add(_elem464);
+              _elem456 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+              _elem456.read(iprot);
+              struct.success.add(_elem456);
             }
           }
           struct.setSuccessIsSet(true);
@@ -297394,14 +297246,14 @@ public class Airavata {
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list466 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list466.size);
-                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem467;
-                  for (int _i468 = 0; _i468 < _list466.size; ++_i468)
+                  org.apache.thrift.protocol.TList _list458 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list458.size);
+                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem459;
+                  for (int _i460 = 0; _i460 < _list458.size; ++_i460)
                   {
-                    _elem467 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-                    _elem467.read(iprot);
-                    struct.success.add(_elem467);
+                    _elem459 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+                    _elem459.read(iprot);
+                    struct.success.add(_elem459);
                   }
                   iprot.readListEnd();
                 }
@@ -297465,9 +297317,9 @@ public class Airavata {
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter469 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter461 : struct.success)
             {
-              _iter469.write(oprot);
+              _iter461.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -297530,9 +297382,9 @@ public class Airavata {
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter470 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter462 : struct.success)
             {
-              _iter470.write(oprot);
+              _iter462.write(oprot);
             }
           }
         }
@@ -297556,14 +297408,14 @@ public class Airavata {
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list471 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list471.size);
-            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem472;
-            for (int _i473 = 0; _i473 < _list471.size; ++_i473)
+            org.apache.thrift.protocol.TList _list463 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list463.size);
+            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem464;
+            for (int _i465 = 0; _i465 < _list463.size; ++_i465)
             {
-              _elem472 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-              _elem472.read(iprot);
-              struct.success.add(_elem472);
+              _elem464 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+              _elem464.read(iprot);
+              struct.success.add(_elem464);
             }
           }
           struct.setSuccessIsSet(true);
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote
index 5d4ef6e..18425d2 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote
@@ -212,7 +212,7 @@ if len(sys.argv) <= 1 or sys.argv[1] == '--help':
     print('  bool removeParser(AuthzToken authzToken, string parserId, string gatewayId)')
     print('  ParsingTemplate getParsingTemplate(AuthzToken authzToken, string templateId, string gatewayId)')
     print('   getParsingTemplatesForApplication(AuthzToken authzToken, string appInterfaceId, string gatewayId)')
-    print('  void addParsingTemplatesForExperiment(AuthzToken authzToken,  templateIds, string experimentId)')
+    print('  void addParsingTemplatesForExperiment(AuthzToken authzToken, ExperimentParsingTemplateRegistration registration)')
     print('   getParsingTemplatesForExperiment(AuthzToken authzToken, string experimentId, string gatewayId)')
     print('  string saveParsingTemplate(AuthzToken authzToken, ParsingTemplate parsingTemplate)')
     print('  bool removeParsingTemplate(AuthzToken authzToken, string templateId, string gatewayId)')
@@ -1426,10 +1426,10 @@ elif cmd == 'getParsingTemplatesForApplication':
     pp.pprint(client.getParsingTemplatesForApplication(eval(args[0]), args[1], args[2],))
 
 elif cmd == 'addParsingTemplatesForExperiment':
-    if len(args) != 3:
-        print('addParsingTemplatesForExperiment requires 3 args')
+    if len(args) != 2:
+        print('addParsingTemplatesForExperiment requires 2 args')
         sys.exit(1)
-    pp.pprint(client.addParsingTemplatesForExperiment(eval(args[0]), eval(args[1]), args[2],))
+    pp.pprint(client.addParsingTemplatesForExperiment(eval(args[0]), eval(args[1]),))
 
 elif cmd == 'getParsingTemplatesForExperiment':
     if len(args) != 3:
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py
index 4141c94..f0fd0c1 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py
@@ -3567,12 +3567,11 @@ class Iface(airavata.base.api.BaseAPI.Iface):
         """
         pass
 
-    def addParsingTemplatesForExperiment(self, authzToken, templateIds, experimentId):
+    def addParsingTemplatesForExperiment(self, authzToken, registration):
         """
         Parameters:
          - authzToken
-         - templateIds
-         - experimentId
+         - registration
         """
         pass
 
@@ -13516,22 +13515,20 @@ class Client(airavata.base.api.BaseAPI.Client, Iface):
             raise result.ae
         raise TApplicationException(TApplicationException.MISSING_RESULT, "getParsingTemplatesForApplication failed: unknown result")
 
-    def addParsingTemplatesForExperiment(self, authzToken, templateIds, experimentId):
+    def addParsingTemplatesForExperiment(self, authzToken, registration):
         """
         Parameters:
          - authzToken
-         - templateIds
-         - experimentId
+         - registration
         """
-        self.send_addParsingTemplatesForExperiment(authzToken, templateIds, experimentId)
+        self.send_addParsingTemplatesForExperiment(authzToken, registration)
         self.recv_addParsingTemplatesForExperiment()
 
-    def send_addParsingTemplatesForExperiment(self, authzToken, templateIds, experimentId):
+    def send_addParsingTemplatesForExperiment(self, authzToken, registration):
         self._oprot.writeMessageBegin('addParsingTemplatesForExperiment', TMessageType.CALL, self._seqid)
         args = addParsingTemplatesForExperiment_args()
         args.authzToken = authzToken
-        args.templateIds = templateIds
-        args.experimentId = experimentId
+        args.registration = registration
         args.write(self._oprot)
         self._oprot.writeMessageEnd()
         self._oprot.trans.flush()
@@ -19805,7 +19802,7 @@ class Processor(airavata.base.api.BaseAPI.Processor, Iface, TProcessor):
         iprot.readMessageEnd()
         result = addParsingTemplatesForExperiment_result()
         try:
-            self._handler.addParsingTemplatesForExperiment(args.authzToken, args.templateIds, args.experimentId)
+            self._handler.addParsingTemplatesForExperiment(args.authzToken, args.registration)
             msg_type = TMessageType.REPLY
         except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
             raise
@@ -57867,21 +57864,18 @@ class addParsingTemplatesForExperiment_args(object):
     """
     Attributes:
      - authzToken
-     - templateIds
-     - experimentId
+     - registration
     """
 
     thrift_spec = (
         None,  # 0
         (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.LIST, 'templateIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
+        (2, TType.STRUCT, 'registration', (airavata.model.appcatalog.parser.ttypes.ExperimentParsingTemplateRegistration, airavata.model.appcatalog.parser.ttypes.ExperimentParsingTemplateRegistration.thrift_spec), None, ),  # 2
     )
 
-    def __init__(self, authzToken=None, templateIds=None, experimentId=None,):
+    def __init__(self, authzToken=None, registration=None,):
         self.authzToken = authzToken
-        self.templateIds = templateIds
-        self.experimentId = experimentId
+        self.registration = registration
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -57899,18 +57893,9 @@ class addParsingTemplatesForExperiment_args(object):
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
-                if ftype == TType.LIST:
-                    self.templateIds = []
-                    (_etype400, _size397) = iprot.readListBegin()
-                    for _i401 in range(_size397):
-                        _elem402 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        self.templateIds.append(_elem402)
-                    iprot.readListEnd()
-                else:
-                    iprot.skip(ftype)
-            elif fid == 3:
-                if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                if ftype == TType.STRUCT:
+                    self.registration = airavata.model.appcatalog.parser.ttypes.ExperimentParsingTemplateRegistration()
+                    self.registration.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -57927,16 +57912,9 @@ class addParsingTemplatesForExperiment_args(object):
             oprot.writeFieldBegin('authzToken', TType.STRUCT, 1)
             self.authzToken.write(oprot)
             oprot.writeFieldEnd()
-        if self.templateIds is not None:
-            oprot.writeFieldBegin('templateIds', TType.LIST, 2)
-            oprot.writeListBegin(TType.STRING, len(self.templateIds))
-            for iter403 in self.templateIds:
-                oprot.writeString(iter403.encode('utf-8') if sys.version_info[0] == 2 else iter403)
-            oprot.writeListEnd()
-            oprot.writeFieldEnd()
-        if self.experimentId is not None:
-            oprot.writeFieldBegin('experimentId', TType.STRING, 3)
-            oprot.writeString(self.experimentId.encode('utf-8') if sys.version_info[0] == 2 else self.experimentId)
+        if self.registration is not None:
+            oprot.writeFieldBegin('registration', TType.STRUCT, 2)
+            self.registration.write(oprot)
             oprot.writeFieldEnd()
         oprot.writeFieldStop()
         oprot.writeStructEnd()
@@ -57944,10 +57922,8 @@ class addParsingTemplatesForExperiment_args(object):
     def validate(self):
         if self.authzToken is None:
             raise TProtocolException(message='Required field authzToken is unset!')
-        if self.templateIds is None:
-            raise TProtocolException(message='Required field templateIds is unset!')
-        if self.experimentId is None:
-            raise TProtocolException(message='Required field experimentId is unset!')
+        if self.registration is None:
+            raise TProtocolException(message='Required field registration is unset!')
         return
 
     def __repr__(self):
@@ -58190,11 +58166,11 @@ class getParsingTemplatesForExperiment_result(object):
             if fid == 0:
                 if ftype == TType.LIST:
                     self.success = []
-                    (_etype407, _size404) = iprot.readListBegin()
-                    for _i408 in range(_size404):
-                        _elem409 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
-                        _elem409.read(iprot)
-                        self.success.append(_elem409)
+                    (_etype400, _size397) = iprot.readListBegin()
+                    for _i401 in range(_size397):
+                        _elem402 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
+                        _elem402.read(iprot)
+                        self.success.append(_elem402)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -58235,8 +58211,8 @@ class getParsingTemplatesForExperiment_result(object):
         if self.success is not None:
             oprot.writeFieldBegin('success', TType.LIST, 0)
             oprot.writeListBegin(TType.STRUCT, len(self.success))
-            for iter410 in self.success:
-                iter410.write(oprot)
+            for iter403 in self.success:
+                iter403.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.ire is not None:
@@ -58778,11 +58754,11 @@ class listAllParsingTemplates_result(object):
             if fid == 0:
                 if ftype == TType.LIST:
                     self.success = []
-                    (_etype414, _size411) = iprot.readListBegin()
-                    for _i415 in range(_size411):
-                        _elem416 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
-                        _elem416.read(iprot)
-                        self.success.append(_elem416)
+                    (_etype407, _size404) = iprot.readListBegin()
+                    for _i408 in range(_size404):
+                        _elem409 = airavata.model.appcatalog.parser.ttypes.ParsingTemplate()
+                        _elem409.read(iprot)
+                        self.success.append(_elem409)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -58823,8 +58799,8 @@ class listAllParsingTemplates_result(object):
         if self.success is not None:
             oprot.writeFieldBegin('success', TType.LIST, 0)
             oprot.writeListBegin(TType.STRUCT, len(self.success))
-            for iter417 in self.success:
-                iter417.write(oprot)
+            for iter410 in self.success:
+                iter410.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.ire is not None: