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 2019/05/02 17:54:10 UTC

[airavata] branch master updated: Moving sharing registry thrift files to standard location

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

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


The following commit(s) were added to refs/heads/master by this push:
     new feea520  Moving sharing registry thrift files to standard location
feea520 is described below

commit feea5203dfb4fdd70caa994794b9bbb15b2ccd8d
Author: Dimuthu Wannipurage <di...@gmail.com>
AuthorDate: Thu May 2 13:53:46 2019 -0400

    Moving sharing registry thrift files to standard location
---
 .../server/SharingRegistryServerHandler.java       |   6 +
 .../sharing-registry-stubs/pom.xml                 |   7 +-
 .../airavata/sharing/registry/models/Domain.java   |  55 ++---
 .../registry/models/DuplicateEntryException.java   |  40 ++--
 .../airavata/sharing/registry/models/Entity.java   |  87 ++++----
 .../sharing/registry/models/EntitySearchField.java |  28 ++-
 .../sharing/registry/models/EntityType.java        |  60 +++--
 .../sharing/registry/models/GroupAdmin.java        |  38 ++--
 .../sharing/registry/models/GroupCardinality.java  |  28 ++-
 .../sharing/registry/models/GroupChildType.java    |  28 ++-
 .../sharing/registry/models/GroupMembership.java   |  64 +++---
 .../sharing/registry/models/GroupType.java         |  28 ++-
 .../sharing/registry/models/PermissionType.java    |  60 +++--
 .../sharing/registry/models/SearchCondition.java   |  28 ++-
 .../sharing/registry/models/SearchCriteria.java    |  53 ++---
 .../airavata/sharing/registry/models/Sharing.java  |  74 +++----
 .../registry/models/SharingRegistryException.java  |  40 ++--
 .../sharing/registry/models/SharingType.java       |  28 ++-
 .../airavata/sharing/registry/models/User.java     |  78 +++----
 .../sharing/registry/models/UserGroup.java         |  83 +++----
 .../registry/models/sharing_modelsConstants.java   |  28 ++-
 .../service/cpi/SharingRegistryService.java        |  32 ++-
 .../registry/service/cpi/sharing_cpiConstants.java |  30 +++
 .../sharing-service-docs/api-docs/index.html       |  32 +--
 .../sharing-service-docs/api-docs/sharing_cpi.html | 245 ++++++++++-----------
 .../api-docs/sharing_models.html                   |  89 +++-----
 .../sharing-service-docs/api-docs/style.css        |  22 +-
 .../component-cpis/generate-cpi-stubs.sh           |  11 +-
 .../component-cpis}/sharing_cpi.thrift             |   7 +-
 .../sharing-models}/sharing_models.thrift          |   0
 .../generate-thrift-stubs.sh                       |  14 +-
 31 files changed, 663 insertions(+), 760 deletions(-)

diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
index dd84d69..3180405 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
@@ -26,6 +26,7 @@ import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.db.utils.JPAUtils;
 import org.apache.airavata.sharing.registry.models.*;
 import org.apache.airavata.sharing.registry.service.cpi.SharingRegistryService;
+import org.apache.airavata.sharing.registry.service.cpi.sharing_cpiConstants;
 import org.apache.commons.lang.exception.ExceptionUtils;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
@@ -44,6 +45,11 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
         JPAUtils.initializeDB();
     }
 
+    @Override
+    public String getAPIVersion() throws TException {
+        return sharing_cpiConstants.SHARING_CPI_VERSION;
+    }
+
     /**
      * * Domain Operations
      * *
diff --git a/modules/sharing-registry/sharing-registry-stubs/pom.xml b/modules/sharing-registry/sharing-registry-stubs/pom.xml
index 70824fd..ab0af22 100644
--- a/modules/sharing-registry/sharing-registry-stubs/pom.xml
+++ b/modules/sharing-registry/sharing-registry-stubs/pom.xml
@@ -42,8 +42,13 @@
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-base-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
             <artifactId>airavata-data-models</artifactId>
-            <version>0.18-SNAPSHOT</version>
+            <version>${project.version}</version>
         </dependency>
     </dependencies>
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
index de3e93a..1b0fdd9 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -50,11 +48,11 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DomainStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DomainTupleSchemeFactory();
 
-  public java.lang.String domainId; // optional
-  public java.lang.String name; // optional
-  public java.lang.String description; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String name; // optional
+  private java.lang.String description; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -191,9 +189,8 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
     return this.domainId;
   }
 
-  public Domain setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -215,9 +212,8 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
     return this.name;
   }
 
-  public Domain setName(java.lang.String name) {
+  public void setName(java.lang.String name) {
     this.name = name;
-    return this;
   }
 
   public void unsetName() {
@@ -239,9 +235,8 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
     return this.description;
   }
 
-  public Domain setDescription(java.lang.String description) {
+  public void setDescription(java.lang.String description) {
     this.description = description;
-    return this;
   }
 
   public void unsetDescription() {
@@ -263,10 +258,9 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
     return this.createdTime;
   }
 
-  public Domain setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -286,10 +280,9 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
     return this.updatedTime;
   }
 
-  public Domain setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -692,8 +685,6 @@ public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>,
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
index 8ad610f..e8ef517 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -42,7 +40,7 @@ public class DuplicateEntryException extends org.apache.thrift.TException implem
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DuplicateEntryExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DuplicateEntryExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  private java.lang.String message; // 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 {
@@ -144,9 +142,8 @@ public class DuplicateEntryException extends org.apache.thrift.TException implem
     return this.message;
   }
 
-  public DuplicateEntryException setMessage(java.lang.String message) {
+  public void setMessage(java.lang.String message) {
     this.message = message;
-    return this;
   }
 
   public void unsetMessage() {
@@ -288,9 +285,10 @@ public class DuplicateEntryException extends org.apache.thrift.TException implem
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (message == null) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' was not present! Struct: " + toString());
+    if (!isSetMessage()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' is unset! Struct:" + toString());
     }
+
     // check for sub-struct validity
   }
 
@@ -342,8 +340,6 @@ public class DuplicateEntryException extends org.apache.thrift.TException implem
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
index c8c65d5..5f9bab5 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
@@ -1,4 +1,21 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
@@ -45,19 +62,19 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new EntityStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new EntityTupleSchemeFactory();
 
-  public java.lang.String entityId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String entityTypeId; // optional
-  public java.lang.String ownerId; // optional
-  public java.lang.String parentEntityId; // optional
-  public java.lang.String name; // optional
-  public java.lang.String description; // optional
-  public java.nio.ByteBuffer binaryData; // optional
-  public java.lang.String fullText; // optional
-  public long sharedCount; // optional
-  public long originalEntityCreationTime; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String entityId; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String entityTypeId; // optional
+  private java.lang.String ownerId; // optional
+  private java.lang.String parentEntityId; // optional
+  private java.lang.String name; // optional
+  private java.lang.String description; // optional
+  private java.nio.ByteBuffer binaryData; // optional
+  private java.lang.String fullText; // optional
+  private long sharedCount; // optional
+  private long originalEntityCreationTime; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -265,9 +282,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.entityId;
   }
 
-  public Entity setEntityId(java.lang.String entityId) {
+  public void setEntityId(java.lang.String entityId) {
     this.entityId = entityId;
-    return this;
   }
 
   public void unsetEntityId() {
@@ -289,9 +305,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.domainId;
   }
 
-  public Entity setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -313,9 +328,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.entityTypeId;
   }
 
-  public Entity setEntityTypeId(java.lang.String entityTypeId) {
+  public void setEntityTypeId(java.lang.String entityTypeId) {
     this.entityTypeId = entityTypeId;
-    return this;
   }
 
   public void unsetEntityTypeId() {
@@ -337,9 +351,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.ownerId;
   }
 
-  public Entity setOwnerId(java.lang.String ownerId) {
+  public void setOwnerId(java.lang.String ownerId) {
     this.ownerId = ownerId;
-    return this;
   }
 
   public void unsetOwnerId() {
@@ -361,9 +374,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.parentEntityId;
   }
 
-  public Entity setParentEntityId(java.lang.String parentEntityId) {
+  public void setParentEntityId(java.lang.String parentEntityId) {
     this.parentEntityId = parentEntityId;
-    return this;
   }
 
   public void unsetParentEntityId() {
@@ -385,9 +397,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.name;
   }
 
-  public Entity setName(java.lang.String name) {
+  public void setName(java.lang.String name) {
     this.name = name;
-    return this;
   }
 
   public void unsetName() {
@@ -409,9 +420,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.description;
   }
 
-  public Entity setDescription(java.lang.String description) {
+  public void setDescription(java.lang.String description) {
     this.description = description;
-    return this;
   }
 
   public void unsetDescription() {
@@ -438,14 +448,12 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return org.apache.thrift.TBaseHelper.copyBinary(binaryData);
   }
 
-  public Entity setBinaryData(byte[] binaryData) {
+  public void setBinaryData(byte[] binaryData) {
     this.binaryData = binaryData == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(binaryData.clone());
-    return this;
   }
 
-  public Entity setBinaryData(java.nio.ByteBuffer binaryData) {
+  public void setBinaryData(java.nio.ByteBuffer binaryData) {
     this.binaryData = org.apache.thrift.TBaseHelper.copyBinary(binaryData);
-    return this;
   }
 
   public void unsetBinaryData() {
@@ -467,9 +475,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.fullText;
   }
 
-  public Entity setFullText(java.lang.String fullText) {
+  public void setFullText(java.lang.String fullText) {
     this.fullText = fullText;
-    return this;
   }
 
   public void unsetFullText() {
@@ -491,10 +498,9 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.sharedCount;
   }
 
-  public Entity setSharedCount(long sharedCount) {
+  public void setSharedCount(long sharedCount) {
     this.sharedCount = sharedCount;
     setSharedCountIsSet(true);
-    return this;
   }
 
   public void unsetSharedCount() {
@@ -514,10 +520,9 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.originalEntityCreationTime;
   }
 
-  public Entity setOriginalEntityCreationTime(long originalEntityCreationTime) {
+  public void setOriginalEntityCreationTime(long originalEntityCreationTime) {
     this.originalEntityCreationTime = originalEntityCreationTime;
     setOriginalEntityCreationTimeIsSet(true);
-    return this;
   }
 
   public void unsetOriginalEntityCreationTime() {
@@ -537,10 +542,9 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.createdTime;
   }
 
-  public Entity setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -560,10 +564,9 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     return this.updatedTime;
   }
 
-  public Entity setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -1394,8 +1397,6 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
index c74cd9f..84fb0a4 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
index e12dfb8..1536760 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -50,12 +48,12 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new EntityTypeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new EntityTypeTupleSchemeFactory();
 
-  public java.lang.String entityTypeId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String name; // optional
-  public java.lang.String description; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String entityTypeId; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String name; // optional
+  private java.lang.String description; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -198,9 +196,8 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
     return this.entityTypeId;
   }
 
-  public EntityType setEntityTypeId(java.lang.String entityTypeId) {
+  public void setEntityTypeId(java.lang.String entityTypeId) {
     this.entityTypeId = entityTypeId;
-    return this;
   }
 
   public void unsetEntityTypeId() {
@@ -222,9 +219,8 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
     return this.domainId;
   }
 
-  public EntityType setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -246,9 +242,8 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
     return this.name;
   }
 
-  public EntityType setName(java.lang.String name) {
+  public void setName(java.lang.String name) {
     this.name = name;
-    return this;
   }
 
   public void unsetName() {
@@ -270,9 +265,8 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
     return this.description;
   }
 
-  public EntityType setDescription(java.lang.String description) {
+  public void setDescription(java.lang.String description) {
     this.description = description;
-    return this;
   }
 
   public void unsetDescription() {
@@ -294,10 +288,9 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
     return this.createdTime;
   }
 
-  public EntityType setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -317,10 +310,9 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
     return this.updatedTime;
   }
 
-  public EntityType setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -777,8 +769,6 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
index e4cf404..d970719 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
@@ -1,5 +1,22 @@
 /**
- * Autogenerated by Thrift Compiler (1.0.0-dev)
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -7,7 +24,7 @@
 package org.apache.airavata.sharing.registry.models;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmin._Fields>, java.io.Serializable, Cloneable, Comparable<GroupAdmin> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupAdmin");
 
@@ -18,9 +35,9 @@ public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmi
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupAdminStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupAdminTupleSchemeFactory();
 
-  public java.lang.String groupId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String adminId; // optional
+  private java.lang.String groupId; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String adminId; // 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 {
@@ -134,9 +151,8 @@ public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmi
     return this.groupId;
   }
 
-  public GroupAdmin setGroupId(java.lang.String groupId) {
+  public void setGroupId(java.lang.String groupId) {
     this.groupId = groupId;
-    return this;
   }
 
   public void unsetGroupId() {
@@ -158,9 +174,8 @@ public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmi
     return this.domainId;
   }
 
-  public GroupAdmin setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -182,9 +197,8 @@ public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmi
     return this.adminId;
   }
 
-  public GroupAdmin setAdminId(java.lang.String adminId) {
+  public void setAdminId(java.lang.String adminId) {
     this.adminId = adminId;
-    return this;
   }
 
   public void unsetAdminId() {
@@ -487,8 +501,6 @@ public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmi
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
index 39428c2..772b4c1 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
index 106e672..acb421f 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
index affb385..2f37788 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -44,16 +42,12 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupMembershipStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupMembershipTupleSchemeFactory();
 
-  public java.lang.String parentId; // optional
-  public java.lang.String childId; // optional
-  public java.lang.String domainId; // optional
-  /**
-   * 
-   * @see GroupChildType
-   */
-  public GroupChildType childType; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String parentId; // optional
+  private java.lang.String childId; // optional
+  private java.lang.String domainId; // optional
+  private GroupChildType childType; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -200,9 +194,8 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     return this.parentId;
   }
 
-  public GroupMembership setParentId(java.lang.String parentId) {
+  public void setParentId(java.lang.String parentId) {
     this.parentId = parentId;
-    return this;
   }
 
   public void unsetParentId() {
@@ -224,9 +217,8 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     return this.childId;
   }
 
-  public GroupMembership setChildId(java.lang.String childId) {
+  public void setChildId(java.lang.String childId) {
     this.childId = childId;
-    return this;
   }
 
   public void unsetChildId() {
@@ -248,9 +240,8 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     return this.domainId;
   }
 
-  public GroupMembership setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -280,9 +271,8 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
    * 
    * @see GroupChildType
    */
-  public GroupMembership setChildType(GroupChildType childType) {
+  public void setChildType(GroupChildType childType) {
     this.childType = childType;
-    return this;
   }
 
   public void unsetChildType() {
@@ -304,10 +294,9 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     return this.createdTime;
   }
 
-  public GroupMembership setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -327,10 +316,9 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     return this.updatedTime;
   }
 
-  public GroupMembership setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -787,8 +775,6 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
index 85e78de..3cb1527 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
index f891ce2..96df5d3 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -50,12 +48,12 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new PermissionTypeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new PermissionTypeTupleSchemeFactory();
 
-  public java.lang.String permissionTypeId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String name; // optional
-  public java.lang.String description; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String permissionTypeId; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String name; // optional
+  private java.lang.String description; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -198,9 +196,8 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
     return this.permissionTypeId;
   }
 
-  public PermissionType setPermissionTypeId(java.lang.String permissionTypeId) {
+  public void setPermissionTypeId(java.lang.String permissionTypeId) {
     this.permissionTypeId = permissionTypeId;
-    return this;
   }
 
   public void unsetPermissionTypeId() {
@@ -222,9 +219,8 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
     return this.domainId;
   }
 
-  public PermissionType setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -246,9 +242,8 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
     return this.name;
   }
 
-  public PermissionType setName(java.lang.String name) {
+  public void setName(java.lang.String name) {
     this.name = name;
-    return this;
   }
 
   public void unsetName() {
@@ -270,9 +265,8 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
     return this.description;
   }
 
-  public PermissionType setDescription(java.lang.String description) {
+  public void setDescription(java.lang.String description) {
     this.description = description;
-    return this;
   }
 
   public void unsetDescription() {
@@ -294,10 +288,9 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
     return this.createdTime;
   }
 
-  public PermissionType setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -317,10 +310,9 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
     return this.updatedTime;
   }
 
-  public PermissionType setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -777,8 +769,6 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
index 2e6bfde..865fa88 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
index cbba39e..8afaf8e 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -44,17 +42,9 @@ public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, S
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SearchCriteriaStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SearchCriteriaTupleSchemeFactory();
 
-  /**
-   * 
-   * @see EntitySearchField
-   */
-  public EntitySearchField searchField; // optional
-  public java.lang.String value; // optional
-  /**
-   * 
-   * @see SearchCondition
-   */
-  public SearchCondition searchCondition; // optional
+  private EntitySearchField searchField; // optional
+  private java.lang.String value; // optional
+  private SearchCondition searchCondition; // 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 {
@@ -184,9 +174,8 @@ public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, S
    * 
    * @see EntitySearchField
    */
-  public SearchCriteria setSearchField(EntitySearchField searchField) {
+  public void setSearchField(EntitySearchField searchField) {
     this.searchField = searchField;
-    return this;
   }
 
   public void unsetSearchField() {
@@ -208,9 +197,8 @@ public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, S
     return this.value;
   }
 
-  public SearchCriteria setValue(java.lang.String value) {
+  public void setValue(java.lang.String value) {
     this.value = value;
-    return this;
   }
 
   public void unsetValue() {
@@ -240,9 +228,8 @@ public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, S
    * 
    * @see SearchCondition
    */
-  public SearchCriteria setSearchCondition(SearchCondition searchCondition) {
+  public void setSearchCondition(SearchCondition searchCondition) {
     this.searchCondition = searchCondition;
-    return this;
   }
 
   public void unsetSearchCondition() {
@@ -545,8 +532,6 @@ public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, S
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
index 2cdc9de..e5c956c 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -46,18 +44,14 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SharingStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SharingTupleSchemeFactory();
 
-  public java.lang.String permissionTypeId; // optional
-  public java.lang.String entityId; // optional
-  public java.lang.String groupId; // optional
-  /**
-   * 
-   * @see SharingType
-   */
-  public SharingType sharingType; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String inheritedParentId; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String permissionTypeId; // optional
+  private java.lang.String entityId; // optional
+  private java.lang.String groupId; // optional
+  private SharingType sharingType; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String inheritedParentId; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -222,9 +216,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.permissionTypeId;
   }
 
-  public Sharing setPermissionTypeId(java.lang.String permissionTypeId) {
+  public void setPermissionTypeId(java.lang.String permissionTypeId) {
     this.permissionTypeId = permissionTypeId;
-    return this;
   }
 
   public void unsetPermissionTypeId() {
@@ -246,9 +239,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.entityId;
   }
 
-  public Sharing setEntityId(java.lang.String entityId) {
+  public void setEntityId(java.lang.String entityId) {
     this.entityId = entityId;
-    return this;
   }
 
   public void unsetEntityId() {
@@ -270,9 +262,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.groupId;
   }
 
-  public Sharing setGroupId(java.lang.String groupId) {
+  public void setGroupId(java.lang.String groupId) {
     this.groupId = groupId;
-    return this;
   }
 
   public void unsetGroupId() {
@@ -302,9 +293,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
    * 
    * @see SharingType
    */
-  public Sharing setSharingType(SharingType sharingType) {
+  public void setSharingType(SharingType sharingType) {
     this.sharingType = sharingType;
-    return this;
   }
 
   public void unsetSharingType() {
@@ -326,9 +316,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.domainId;
   }
 
-  public Sharing setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -350,9 +339,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.inheritedParentId;
   }
 
-  public Sharing setInheritedParentId(java.lang.String inheritedParentId) {
+  public void setInheritedParentId(java.lang.String inheritedParentId) {
     this.inheritedParentId = inheritedParentId;
-    return this;
   }
 
   public void unsetInheritedParentId() {
@@ -374,10 +362,9 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.createdTime;
   }
 
-  public Sharing setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -397,10 +384,9 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     return this.updatedTime;
   }
 
-  public Sharing setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -965,8 +951,6 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
index 0a4695d..4bad273 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -39,7 +37,7 @@ public class SharingRegistryException extends org.apache.thrift.TException imple
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SharingRegistryExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SharingRegistryExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  private java.lang.String message; // 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 {
@@ -141,9 +139,8 @@ public class SharingRegistryException extends org.apache.thrift.TException imple
     return this.message;
   }
 
-  public SharingRegistryException setMessage(java.lang.String message) {
+  public void setMessage(java.lang.String message) {
     this.message = message;
-    return this;
   }
 
   public void unsetMessage() {
@@ -285,9 +282,10 @@ public class SharingRegistryException extends org.apache.thrift.TException imple
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (message == null) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' was not present! Struct: " + toString());
+    if (!isSetMessage()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' is unset! Struct:" + toString());
     }
+
     // check for sub-struct validity
   }
 
@@ -339,8 +337,6 @@ public class SharingRegistryException extends org.apache.thrift.TException imple
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
index 795923c..8048352 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
index d51ed16..2ad188b 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -57,15 +55,15 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserTupleSchemeFactory();
 
-  public java.lang.String userId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String userName; // optional
-  public java.lang.String firstName; // optional
-  public java.lang.String lastName; // optional
-  public java.lang.String email; // optional
-  public java.nio.ByteBuffer icon; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String userId; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String userName; // optional
+  private java.lang.String firstName; // optional
+  private java.lang.String lastName; // optional
+  private java.lang.String email; // optional
+  private java.nio.ByteBuffer icon; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -235,9 +233,8 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.userId;
   }
 
-  public User setUserId(java.lang.String userId) {
+  public void setUserId(java.lang.String userId) {
     this.userId = userId;
-    return this;
   }
 
   public void unsetUserId() {
@@ -259,9 +256,8 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.domainId;
   }
 
-  public User setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -283,9 +279,8 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.userName;
   }
 
-  public User setUserName(java.lang.String userName) {
+  public void setUserName(java.lang.String userName) {
     this.userName = userName;
-    return this;
   }
 
   public void unsetUserName() {
@@ -307,9 +302,8 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.firstName;
   }
 
-  public User setFirstName(java.lang.String firstName) {
+  public void setFirstName(java.lang.String firstName) {
     this.firstName = firstName;
-    return this;
   }
 
   public void unsetFirstName() {
@@ -331,9 +325,8 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.lastName;
   }
 
-  public User setLastName(java.lang.String lastName) {
+  public void setLastName(java.lang.String lastName) {
     this.lastName = lastName;
-    return this;
   }
 
   public void unsetLastName() {
@@ -355,9 +348,8 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.email;
   }
 
-  public User setEmail(java.lang.String email) {
+  public void setEmail(java.lang.String email) {
     this.email = email;
-    return this;
   }
 
   public void unsetEmail() {
@@ -384,14 +376,12 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return org.apache.thrift.TBaseHelper.copyBinary(icon);
   }
 
-  public User setIcon(byte[] icon) {
+  public void setIcon(byte[] icon) {
     this.icon = icon == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(icon.clone());
-    return this;
   }
 
-  public User setIcon(java.nio.ByteBuffer icon) {
+  public void setIcon(java.nio.ByteBuffer icon) {
     this.icon = org.apache.thrift.TBaseHelper.copyBinary(icon);
-    return this;
   }
 
   public void unsetIcon() {
@@ -413,10 +403,9 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.createdTime;
   }
 
-  public User setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -436,10 +425,9 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
     return this.updatedTime;
   }
 
-  public User setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -1062,8 +1050,6 @@ public class User implements org.apache.thrift.TBase<User, User._Fields>, java.i
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
index a37abf4..6521f97 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
@@ -56,23 +54,15 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserGroupStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserGroupTupleSchemeFactory();
 
-  public java.lang.String groupId; // optional
-  public java.lang.String domainId; // optional
-  public java.lang.String name; // optional
-  public java.lang.String description; // optional
-  public java.lang.String ownerId; // optional
-  /**
-   * 
-   * @see GroupType
-   */
-  public GroupType groupType; // optional
-  /**
-   * 
-   * @see GroupCardinality
-   */
-  public GroupCardinality groupCardinality; // optional
-  public long createdTime; // optional
-  public long updatedTime; // optional
+  private java.lang.String groupId; // optional
+  private java.lang.String domainId; // optional
+  private java.lang.String name; // optional
+  private java.lang.String description; // optional
+  private java.lang.String ownerId; // optional
+  private GroupType groupType; // optional
+  private GroupCardinality groupCardinality; // optional
+  private long createdTime; // optional
+  private long updatedTime; // 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 {
@@ -250,9 +240,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.groupId;
   }
 
-  public UserGroup setGroupId(java.lang.String groupId) {
+  public void setGroupId(java.lang.String groupId) {
     this.groupId = groupId;
-    return this;
   }
 
   public void unsetGroupId() {
@@ -274,9 +263,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.domainId;
   }
 
-  public UserGroup setDomainId(java.lang.String domainId) {
+  public void setDomainId(java.lang.String domainId) {
     this.domainId = domainId;
-    return this;
   }
 
   public void unsetDomainId() {
@@ -298,9 +286,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.name;
   }
 
-  public UserGroup setName(java.lang.String name) {
+  public void setName(java.lang.String name) {
     this.name = name;
-    return this;
   }
 
   public void unsetName() {
@@ -322,9 +309,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.description;
   }
 
-  public UserGroup setDescription(java.lang.String description) {
+  public void setDescription(java.lang.String description) {
     this.description = description;
-    return this;
   }
 
   public void unsetDescription() {
@@ -346,9 +332,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.ownerId;
   }
 
-  public UserGroup setOwnerId(java.lang.String ownerId) {
+  public void setOwnerId(java.lang.String ownerId) {
     this.ownerId = ownerId;
-    return this;
   }
 
   public void unsetOwnerId() {
@@ -378,9 +363,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
    * 
    * @see GroupType
    */
-  public UserGroup setGroupType(GroupType groupType) {
+  public void setGroupType(GroupType groupType) {
     this.groupType = groupType;
-    return this;
   }
 
   public void unsetGroupType() {
@@ -410,9 +394,8 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
    * 
    * @see GroupCardinality
    */
-  public UserGroup setGroupCardinality(GroupCardinality groupCardinality) {
+  public void setGroupCardinality(GroupCardinality groupCardinality) {
     this.groupCardinality = groupCardinality;
-    return this;
   }
 
   public void unsetGroupCardinality() {
@@ -434,10 +417,9 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.createdTime;
   }
 
-  public UserGroup setCreatedTime(long createdTime) {
+  public void setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetCreatedTime() {
@@ -457,10 +439,9 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
     return this.updatedTime;
   }
 
-  public UserGroup setUpdatedTime(long updatedTime) {
+  public void setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
-    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -1079,8 +1060,6 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
-
-      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
index 030666a..4390099 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
@@ -1,22 +1,20 @@
 /**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ *     http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
+
 /**
  * Autogenerated by Thrift Compiler (0.10.0)
  *
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
index f0e876e..570a724 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -1,5 +1,21 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
 /**
- * Autogenerated by Thrift Compiler (1.0.0-dev)
+ * Autogenerated by Thrift Compiler (0.10.0)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -7,10 +23,10 @@
 package org.apache.airavata.sharing.registry.service.cpi;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (1.0.0-dev)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class SharingRegistryService {
 
-  public interface Iface {
+  public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
 
     /**
      * <p>API method to create a new domain</p>
@@ -470,7 +486,7 @@ public class SharingRegistryService {
 
   }
 
-  public interface AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
 
     public void createDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
@@ -584,7 +600,7 @@ public class SharingRegistryService {
 
   }
 
-  public static class Client extends org.apache.thrift.TServiceClient implements Iface {
+  public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
@@ -2118,7 +2134,7 @@ public class SharingRegistryService {
     }
 
   }
-  public static class AsyncClient extends org.apache.thrift.async.TAsyncClient implements AsyncIface {
+  public static class AsyncClient extends org.apache.airavata.base.api.BaseAPI.AsyncClient implements AsyncIface {
     public static class Factory implements org.apache.thrift.async.TAsyncClientFactory<AsyncClient> {
       private org.apache.thrift.async.TAsyncClientManager clientManager;
       private org.apache.thrift.protocol.TProtocolFactory protocolFactory;
@@ -4119,7 +4135,7 @@ public class SharingRegistryService {
 
   }
 
-  public static class Processor<I extends Iface> extends org.apache.thrift.TBaseProcessor<I> implements org.apache.thrift.TProcessor {
+  public static class Processor<I extends Iface> extends org.apache.airavata.base.api.BaseAPI.Processor<I> implements org.apache.thrift.TProcessor {
     private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(Processor.class.getName());
     public Processor(I iface) {
       super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>>()));
@@ -5546,7 +5562,7 @@ public class SharingRegistryService {
 
   }
 
-  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.thrift.TBaseAsyncProcessor<I> {
+  public static class AsyncProcessor<I extends AsyncIface> extends org.apache.airavata.base.api.BaseAPI.AsyncProcessor<I> {
     private static final org.slf4j.Logger _LOGGER = org.slf4j.LoggerFactory.getLogger(AsyncProcessor.class.getName());
     public AsyncProcessor(I iface) {
       super(iface, getProcessMap(new java.util.HashMap<java.lang.String, org.apache.thrift.AsyncProcessFunction<I, ? extends org.apache.thrift.TBase, ?>>()));
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java
new file mode 100644
index 0000000..204520d
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java
@@ -0,0 +1,30 @@
+    /*
+     * Licensed to the Apache Software Foundation (ASF) under one or more
+     * contributor license agreements.  See the NOTICE file distributed with
+     * this work for additional information regarding copyright ownership.
+     * The ASF licenses this file to You under the Apache License, Version 2.0
+     * (the "License"); you may not use this file except in compliance with
+     * the License.  You may obtain a copy of the License at
+     *
+     *     http://www.apache.org/licenses/LICENSE-2.0
+     *
+     * Unless required by applicable law or agreed to in writing, software
+     * distributed under the License is distributed on an "AS IS" BASIS,
+     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     * See the License for the specific language governing permissions and
+     * limitations under the License.
+     */
+/**
+ * Autogenerated by Thrift Compiler (0.10.0)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.sharing.registry.service.cpi;
+
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+public class sharing_cpiConstants {
+
+  public static final java.lang.String SHARING_CPI_VERSION = "0.18.0";
+
+}
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/index.html b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
index f03e0f3..cc43610 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/index.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
 <html><head>
 <link href="style.css" rel="stylesheet" type="text/css"/>
 <title>All Thrift declarations</title></head><body>
@@ -86,7 +65,8 @@
 </ul>
 </td>
 <td></td>
-<td></code></td>
+<td><code><a href="sharing_cpi.html#Const_SHARING_CPI_VERSION">SHARING_CPI_VERSION</a></code><br/>
+</code></td>
 </tr><tr>
 <td>sharing_models</td><td></td>
 <td><a href="sharing_models.html#Struct_Domain">Domain</a><br/>
@@ -110,5 +90,13 @@
 </td>
 <td><code><a href="sharing_models.html#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
 </code></td>
+</tr><tr>
+<td>base_api</td><td><a href="base_api.html#Svc_BaseAPI">BaseAPI</a><br/>
+<ul>
+<li><a href="base_api.html#Fn_BaseAPI_getAPIVersion">getAPIVersion</a></li>
+</ul>
+</td>
+<td></td>
+<td></code></td>
 </tr></table>
 </div></body></html>
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
index 3f1cfbd..5c71f8a 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -90,303 +69,307 @@
 </ul>
 </td>
 <td></td>
-<td></code></td>
+<td><code><a href="#Const_SHARING_CPI_VERSION">SHARING_CPI_VERSION</a></code><br/>
+</code></td>
 </tr></table>
-<hr/><h2 id="Services">Services</h2>
+<hr/><h2 id="Constants">Constants</h2>
+<table class="table-bordered table-striped table-condensed"><thead><th>Constant</th><th>Type</th><th>Value</th></thead>
+<tr id="Const_SHARING_CPI_VERSION"><td><code>SHARING_CPI_VERSION</code></td><td><code>string</code></td><td><code>"0.18.0"</code></td></tr></table><hr/><h2 id="Services">Services</h2>
 <h3 id="Svc_SharingRegistryService">Service: SharingRegistryService</h3>
+<div class="extends"><em>extends</em> <code><a href="base_api.html#Svc_BaseAPI">base_api.BaseAPI</a></code></div>
 <div class="definition"><h4 id="Fn_SharingRegistryService_createDomain">Function: SharingRegistryService.createDomain</h4>
 <pre><code>string</code> createDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to create a new domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
+</pre><p>API method to create a new domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateDomain">Function: SharingRegistryService.updateDomain</h4>
 <pre><code>bool</code> updateDomain(<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> domain)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update a domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isDomainExists">Function: SharingRegistryService.isDomainExists</h4>
+</pre><p>API method to update a domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isDomainExists">Function: SharingRegistryService.isDomainExists</h4>
 <pre><code>bool</code> isDomainExists(<code>string</code> domainId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Domain Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteDomain">Function: SharingRegistryService.deleteDomain</h4>
+</pre><p>API method to check Domain Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteDomain">Function: SharingRegistryService.deleteDomain</h4>
 <pre><code>bool</code> deleteDomain(<code>string</code> domainId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomain">Function: SharingRegistryService.getDomain</h4>
+</pre><p>API method to delete domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomain">Function: SharingRegistryService.getDomain</h4>
 <pre><code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code> getDomain(<code>string</code> domainId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to retrieve a domain</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomains">Function: SharingRegistryService.getDomains</h4>
+</pre><p>API method to retrieve a domain</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getDomains">Function: SharingRegistryService.getDomains</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_Domain">sharing_models.Domain</a></code>&gt;</code> getDomains(<code>i32</code> offset,
                                        <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get all domain.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
+</pre><p>API method to get all domain.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createUser">Function: SharingRegistryService.createUser</h4>
 <pre><code>string</code> createUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to register a user in the system</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
+</pre><p>API method to register a user in the system</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatedUser">Function: SharingRegistryService.updatedUser</h4>
 <pre><code>bool</code> updatedUser(<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> user)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update existing user</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isUserExists">Function: SharingRegistryService.isUserExists</h4>
+</pre><p>API method to update existing user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isUserExists">Function: SharingRegistryService.isUserExists</h4>
 <pre><code>bool</code> isUserExists(<code>string</code> domainId,
                   <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check User Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
+</pre><p>API method to check User Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
 <pre><code>bool</code> deleteUser(<code>string</code> domainId,
                 <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete user</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUser">Function: SharingRegistryService.getUser</h4>
+</pre><p>API method to delete user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUser">Function: SharingRegistryService.getUser</h4>
 <pre><code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code> getUser(<code>string</code> domainId,
                             <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a user</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUsers">Function: SharingRegistryService.getUsers</h4>
+</pre><p>API method to get a user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUsers">Function: SharingRegistryService.getUsers</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getUsers(<code>string</code> domainId,
                                    <code>i32</code> offset,
                                    <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a list of users in a specific domain.</p>
+</pre><p>API method to get a list of users in a specific domain.</p>
 <li>domainId : Domain id</li>
 <li>offset : Starting result number</li>
 <li>limit : Number of max results to be sent</li>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createGroup">Function: SharingRegistryService.createGroup</h4>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createGroup">Function: SharingRegistryService.createGroup</h4>
 <pre><code>string</code> createGroup(<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> group)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to create a new group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateGroup">Function: SharingRegistryService.updateGroup</h4>
+</pre><p>API method to create a new group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateGroup">Function: SharingRegistryService.updateGroup</h4>
 <pre><code>bool</code> updateGroup(<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> group)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isGroupExists">Function: SharingRegistryService.isGroupExists</h4>
+</pre><p>API method to update a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isGroupExists">Function: SharingRegistryService.isGroupExists</h4>
 <pre><code>bool</code> isGroupExists(<code>string</code> domainId,
                    <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Group Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
+</pre><p>API method to check Group Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
 <pre><code>bool</code> deleteGroup(<code>string</code> domainId,
                  <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroup">Function: SharingRegistryService.getGroup</h4>
+</pre><p>API method to delete a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroup">Function: SharingRegistryService.getGroup</h4>
 <pre><code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code> getGroup(<code>string</code> domainId,
                                   <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroups">Function: SharingRegistryService.getGroups</h4>
+</pre><p>API method to get a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroups">Function: SharingRegistryService.getGroups</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getGroups(<code>string</code> domainId,
                                          <code>i32</code> offset,
                                          <code>i32</code> limit)
-</pre><pre><p>API method to get groups in a domainId.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
+</pre><p>API method to get groups in a domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
 <pre><code>bool</code> addUsersToGroup(<code>string</code> domainId,
                      <code>list&lt;<code>string</code>&gt;</code> userIds,
                      <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to add list of users to a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeUsersFromGroup">Function: SharingRegistryService.removeUsersFromGroup</h4>
+</pre><p>API method to add list of users to a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeUsersFromGroup">Function: SharingRegistryService.removeUsersFromGroup</h4>
 <pre><code>bool</code> removeUsersFromGroup(<code>string</code> domainId,
                           <code>list&lt;<code>string</code>&gt;</code> userIds,
                           <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to remove users from a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_transferGroupOwnership">Function: SharingRegistryService.transferGroupOwnership</h4>
+</pre><p>API method to remove users from a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_transferGroupOwnership">Function: SharingRegistryService.transferGroupOwnership</h4>
 <pre><code>bool</code> transferGroupOwnership(<code>string</code> domainId,
                             <code>string</code> groupId,
                             <code>string</code> newOwnerId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to transfer group ownership</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addGroupAdmins">Function: SharingRegistryService.addGroupAdmins</h4>
+</pre><p>API method to transfer group ownership</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addGroupAdmins">Function: SharingRegistryService.addGroupAdmins</h4>
 <pre><code>bool</code> addGroupAdmins(<code>string</code> domainId,
                     <code>string</code> groupId,
                     <code>list&lt;<code>string</code>&gt;</code> adminIds)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to add Admin for a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeGroupAdmins">Function: SharingRegistryService.removeGroupAdmins</h4>
+</pre><p>API method to add Admin for a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeGroupAdmins">Function: SharingRegistryService.removeGroupAdmins</h4>
 <pre><code>bool</code> removeGroupAdmins(<code>string</code> domainId,
                        <code>string</code> groupId,
                        <code>list&lt;<code>string</code>&gt;</code> adminIds)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to remove Admin for a group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_hasAdminAccess">Function: SharingRegistryService.hasAdminAccess</h4>
+</pre><p>API method to remove Admin for a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_hasAdminAccess">Function: SharingRegistryService.hasAdminAccess</h4>
 <pre><code>bool</code> hasAdminAccess(<code>string</code> domainId,
                     <code>string</code> groupId,
                     <code>string</code> adminId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check whether the user has Admin access for the group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_hasOwnerAccess">Function: SharingRegistryService.hasOwnerAccess</h4>
+</pre><p>API method to check whether the user has Admin access for the group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_hasOwnerAccess">Function: SharingRegistryService.hasOwnerAccess</h4>
 <pre><code>bool</code> hasOwnerAccess(<code>string</code> domainId,
                     <code>string</code> groupId,
                     <code>string</code> ownerId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check whether the user has Admin access for the group</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeUser">Function: SharingRegistryService.getGroupMembersOfTypeUser</h4>
+</pre><p>API method to check whether the user has Admin access for the group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeUser">Function: SharingRegistryService.getGroupMembersOfTypeUser</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getGroupMembersOfTypeUser(<code>string</code> domainId,
                                                     <code>string</code> groupId,
                                                     <code>i32</code> offset,
                                                     <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get list of child users in a group. Only the direct members will be returned.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeGroup">Function: SharingRegistryService.getGroupMembersOfTypeGroup</h4>
+</pre><p>API method to get list of child users in a group. Only the direct members will be returned.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroupMembersOfTypeGroup">Function: SharingRegistryService.getGroupMembersOfTypeGroup</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getGroupMembersOfTypeGroup(<code>string</code> domainId,
                                                           <code>string</code> groupId,
                                                           <code>i32</code> offset,
                                                           <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get list of child groups in a group. Only the direct members will be returned.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
+</pre><p>API method to get list of child groups in a group. Only the direct members will be returned.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
 <pre><code>bool</code> addChildGroupsToParentGroup(<code>string</code> domainId,
                                  <code>list&lt;<code>string</code>&gt;</code> childIds,
                                  <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to add a child group to a parent group.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeChildGroupFromParentGroup">Function: SharingRegistryService.removeChildGroupFromParentGroup</h4>
+</pre><p>API method to add a child group to a parent group.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_removeChildGroupFromParentGroup">Function: SharingRegistryService.removeChildGroupFromParentGroup</h4>
 <pre><code>bool</code> removeChildGroupFromParentGroup(<code>string</code> domainId,
                                      <code>string</code> childId,
                                      <code>string</code> groupId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to remove a child group from parent group.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getAllMemberGroupsForUser">Function: SharingRegistryService.getAllMemberGroupsForUser</h4>
+</pre><p>API method to remove a child group from parent group.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getAllMemberGroupsForUser">Function: SharingRegistryService.getAllMemberGroupsForUser</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getAllMemberGroupsForUser(<code>string</code> domainId,
                                                          <code>string</code> userId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntityType">Function: SharingRegistryService.createEntityType</h4>
 <pre><code>string</code> createEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to create a new entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
+</pre><p>API method to create a new entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntityType">Function: SharingRegistryService.updateEntityType</h4>
 <pre><code>bool</code> updateEntityType(<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> entityType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityTypeExists">Function: SharingRegistryService.isEntityTypeExists</h4>
+</pre><p>API method to update entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityTypeExists">Function: SharingRegistryService.isEntityTypeExists</h4>
 <pre><code>bool</code> isEntityTypeExists(<code>string</code> domainId,
                         <code>string</code> entityTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check EntityType Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
+</pre><p>API method to check EntityType Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
 <pre><code>bool</code> deleteEntityType(<code>string</code> domainId,
                       <code>string</code> entityTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityType">Function: SharingRegistryService.getEntityType</h4>
+</pre><p>API method to delete entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityType">Function: SharingRegistryService.getEntityType</h4>
 <pre><code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code> getEntityType(<code>string</code> domainId,
                                         <code>string</code> entityTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get an entity type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityTypes">Function: SharingRegistryService.getEntityTypes</h4>
+</pre><p>API method to get an entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityTypes">Function: SharingRegistryService.getEntityTypes</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_EntityType">sharing_models.EntityType</a></code>&gt;</code> getEntityTypes(<code>string</code> domainId,
                                                <code>i32</code> offset,
                                                <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get entity types in a domainId.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntity">Function: SharingRegistryService.createEntity</h4>
+</pre><p>API method to get entity types in a domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createEntity">Function: SharingRegistryService.createEntity</h4>
 <pre><code>string</code> createEntity(<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> entity)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to register new entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntity">Function: SharingRegistryService.updateEntity</h4>
+</pre><p>API method to register new entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updateEntity">Function: SharingRegistryService.updateEntity</h4>
 <pre><code>bool</code> updateEntity(<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> entity)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityExists">Function: SharingRegistryService.isEntityExists</h4>
+</pre><p>API method to update entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isEntityExists">Function: SharingRegistryService.isEntityExists</h4>
 <pre><code>bool</code> isEntityExists(<code>string</code> domainId,
                     <code>string</code> entityId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Entity Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
+</pre><p>API method to check Entity Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
 <pre><code>bool</code> deleteEntity(<code>string</code> domainId,
                   <code>string</code> entityId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntity">Function: SharingRegistryService.getEntity</h4>
+</pre><p>API method to delete entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntity">Function: SharingRegistryService.getEntity</h4>
 <pre><code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code> getEntity(<code>string</code> domainId,
                                 <code>string</code> entityId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get entity</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_searchEntities">Function: SharingRegistryService.searchEntities</h4>
+</pre><p>API method to get entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_searchEntities">Function: SharingRegistryService.searchEntities</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code>&gt;</code> searchEntities(<code>string</code> domainId,
                                            <code>string</code> userId,
                                            <code>list&lt;<code><a href="sharing_models.html#Struct_SearchCriteria">sharing_models.SearchCriteria</a></code>&gt;</code> filters,
                                            <code>i32</code> offset,
                                            <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to search entities</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedUsers">Function: SharingRegistryService.getListOfSharedUsers</h4>
+</pre><p>API method to search entities</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedUsers">Function: SharingRegistryService.getListOfSharedUsers</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_User">sharing_models.User</a></code>&gt;</code> getListOfSharedUsers(<code>string</code> domainId,
                                                <code>string</code> entityId,
                                                <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a list of shared users given the entity id</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedGroups">Function: SharingRegistryService.getListOfSharedGroups</h4>
+</pre><p>API method to get a list of shared users given the entity id</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getListOfSharedGroups">Function: SharingRegistryService.getListOfSharedGroups</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_UserGroup">sharing_models.UserGroup</a></code>&gt;</code> getListOfSharedGroups(<code>string</code> domainId,
                                                      <code>string</code> entityId,
                                                      <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get a list of shared groups given the entity id</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
+</pre><p>API method to get a list of shared groups given the entity id</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_createPermissionType">Function: SharingRegistryService.createPermissionType</h4>
 <pre><code>string</code> createPermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>, <code><a href="sharing_models.html#Struct_DuplicateEntryException">sharing_models.DuplicateEntryException</a></code>
-</pre><pre><p>API method to create permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
+</pre><p>API method to create permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_updatePermissionType">Function: SharingRegistryService.updatePermissionType</h4>
 <pre><code>bool</code> updatePermissionType(<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> permissionType)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to update permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isPermissionExists">Function: SharingRegistryService.isPermissionExists</h4>
+</pre><p>API method to update permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_isPermissionExists">Function: SharingRegistryService.isPermissionExists</h4>
 <pre><code>bool</code> isPermissionExists(<code>string</code> dimainId,
                         <code>string</code> permissionId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check Permission Exists</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
+</pre><p>API method to check Permission Exists</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
 <pre><code>bool</code> deletePermissionType(<code>string</code> domainId,
                           <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to delete permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionType">Function: SharingRegistryService.getPermissionType</h4>
+</pre><p>API method to delete permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionType">Function: SharingRegistryService.getPermissionType</h4>
 <pre><code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code> getPermissionType(<code>string</code> domainId,
                                                 <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get permission type</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionTypes">Function: SharingRegistryService.getPermissionTypes</h4>
+</pre><p>API method to get permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionTypes">Function: SharingRegistryService.getPermissionTypes</h4>
 <pre><code>list&lt;<code><a href="sharing_models.html#Struct_PermissionType">sharing_models.PermissionType</a></code>&gt;</code> getPermissionTypes(<code>string</code> domainId,
                                                        <code>i32</code> offset,
                                                        <code>i32</code> limit)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to get list of permission types in a given domainId.</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithUsers">Function: SharingRegistryService.shareEntityWithUsers</h4>
+</pre><p>API method to get list of permission types in a given domainId.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithUsers">Function: SharingRegistryService.shareEntityWithUsers</h4>
 <pre><code>bool</code> shareEntityWithUsers(<code>string</code> domainId,
                           <code>string</code> entityId,
                           <code>list&lt;<code>string</code>&gt;</code> userList,
                           <code>string</code> perssionTypeId,
                           <code>bool</code> cascadePermission)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to share an entity with users</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromUsers">Function: SharingRegistryService.revokeEntitySharingFromUsers</h4>
+</pre><p>API method to share an entity with users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromUsers">Function: SharingRegistryService.revokeEntitySharingFromUsers</h4>
 <pre><code>bool</code> revokeEntitySharingFromUsers(<code>string</code> domainId,
                                   <code>string</code> entityId,
                                   <code>list&lt;<code>string</code>&gt;</code> userList,
                                   <code>string</code> perssionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to revoke sharing from a list of users</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithGroups">Function: SharingRegistryService.shareEntityWithGroups</h4>
+</pre><p>API method to revoke sharing from a list of users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_shareEntityWithGroups">Function: SharingRegistryService.shareEntityWithGroups</h4>
 <pre><code>bool</code> shareEntityWithGroups(<code>string</code> domainId,
                            <code>string</code> entityId,
                            <code>list&lt;<code>string</code>&gt;</code> groupList,
                            <code>string</code> perssionTypeId,
                            <code>bool</code> cascadePermission)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to share an entity with list of groups</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromGroups">Function: SharingRegistryService.revokeEntitySharingFromGroups</h4>
+</pre><p>API method to share an entity with list of groups</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_revokeEntitySharingFromGroups">Function: SharingRegistryService.revokeEntitySharingFromGroups</h4>
 <pre><code>bool</code> revokeEntitySharingFromGroups(<code>string</code> domainId,
                                    <code>string</code> entityId,
                                    <code>list&lt;<code>string</code>&gt;</code> groupList,
                                    <code>string</code> perssionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to revoke sharing from list of users</p>
-</pre><br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_userHasAccess">Function: SharingRegistryService.userHasAccess</h4>
+</pre><p>API method to revoke sharing from list of users</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_userHasAccess">Function: SharingRegistryService.userHasAccess</h4>
 <pre><code>bool</code> userHasAccess(<code>string</code> domainId,
                    <code>string</code> userId,
                    <code>string</code> entityId,
                    <code>string</code> permissionTypeId)
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><pre><p>API method to check whether a user has access to a specific entity</p>
-</pre><br/></div></div></body></html>
+</pre><p>API method to check whether a user has access to a specific entity</p>
+<br/></div></div></body></html>
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
index 82ae592..37a9d4d 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
@@ -1,24 +1,3 @@
-<!--
-
-
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
--->
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
@@ -57,35 +36,35 @@
 <table class="table-bordered table-striped table-condensed"><thead><th>Constant</th><th>Type</th><th>Value</th></thead>
 <tr id="Const_DO_NOT_SET_AT_CLIENTS_ID"><td><code>DO_NOT_SET_AT_CLIENTS_ID</code></td><td><code>string</code></td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr></table><hr/><h2 id="Enumerations">Enumerations</h2>
 <div class="definition"><h3 id="Enum_GroupCardinality">Enumeration: GroupCardinality</h3>
-<pre><p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
+<p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
 considered as a group in it's own right for implementation ease</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>SINGLE_USER</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>MULTI_USER</code></td><td><code>1</code></td><td>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_GroupType">Enumeration: GroupType</h3>
-<pre><p>Group types can be either user level or domain level groups.</p>
+<p>Group types can be either user level or domain level groups.</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>DOMAIN_LEVEL_GROUP</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>USER_LEVEL_GROUP</code></td><td><code>1</code></td><td>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_GroupChildType">Enumeration: GroupChildType</h3>
-<pre><p>System internal data type to match group child types</p>
+<p>System internal data type to match group child types</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>USER</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>GROUP</code></td><td><code>1</code></td><td>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_EntitySearchField">Enumeration: EntitySearchField</h3>
-<pre><p>This list of fields that can be used to search entities</p>
+<p>This list of fields that can be used to search entities</p>
 <li>NAME : Name of the entity</li>
 <li>DESCRIPTION : Description of the entity</li>
 <li>FULL_TEXT : Full text field of the entity</li>
@@ -95,7 +74,7 @@ considered as a group in it's own right for implementation ease</p>
 <li>UPDATED_TIME : Updated time of the entity</li>
 <li>SHARED_COUNT : Number of directly shared users and groups</li>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>NAME</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>DESCRIPTION</code></td><td><code>1</code></td><td>
@@ -118,14 +97,14 @@ considered as a group in it's own right for implementation ease</p>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_SearchCondition">Enumeration: SearchCondition</h3>
-<pre><p>Different search operators that can be used with the entity search fields</p>
+<p>Different search operators that can be used with the entity search fields</p>
 <li>EQUAL : Simply matches for equality. Applicable for name, and parent entity id</li>
 <li>LIKE : Check for the condition %$FIELD% condition. Applicable for name, and description</li>
 <li>FULL_TEXT : Does a full text search. Only applicable for the FULL_TEXT field.</li>
 <li>GTE : Greater than or equal. Only applicable for created time, updated time and shared count.</li>
 <li>LTE : Less than or equal. Only applicable for created time, updated time and shared count.</li>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>EQUAL</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>LIKE</code></td><td><code>1</code></td><td>
@@ -140,9 +119,9 @@ considered as a group in it's own right for implementation ease</p>
 </td></tr>
 </table></div>
 <div class="definition"><h3 id="Enum_SharingType">Enumeration: SharingType</h3>
-<pre><p>This is an internal enum type for managing sharings</p>
+<p>This is an internal enum type for managing sharings</p>
 
-</pre><br/><br/><table class="table-bordered table-striped table-condensed">
+<br/><br/><table class="table-bordered table-striped table-condensed">
 <tr><td><code>DIRECT_NON_CASCADING</code></td><td><code>0</code></td><td>
 </td></tr>
 <tr><td><code>DIRECT_CASCADING</code></td><td><code>1</code></td><td>
@@ -158,7 +137,7 @@ considered as a group in it's own right for implementation ease</p>
 <tr><td>3</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>4</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Domain is the entity that enables multi-tenency in this componenet. Every tenant will be
+</table><br/><p>Domain is the entity that enables multi-tenency in this componenet. Every tenant will be
 operating separately it's own silo which is identified by the domain id. In the current implementation domain id
 will be same as the domain name</p>
 <li>domainId : Will be generated by the server based on the domain name</li>
@@ -167,7 +146,7 @@ will be same as the domain name</p>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_User">Struct: User</h3>
+<br/></div><div class="definition"><h3 id="Struct_User">Struct: User</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>userId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -178,7 +157,7 @@ will be same as the domain name</p>
 <tr><td>7</td><td>icon</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>User is the model used to register a user in the system. Minimal user information will be required to provide
+</table><br/><p>User is the model used to register a user in the system. Minimal user information will be required to provide
 regarding the user.</p>
 <li><b>userId</b> : User id provided by the client</li>
 <li><b>domainId</b> : Domain id for that user</li>
@@ -190,7 +169,7 @@ regarding the user.</p>
 <li>createdTime : If client provides this value then the system will use it if not the current time will be set</li>
 <li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_GroupAdmin">Struct: GroupAdmin</h3>
+<br/></div><div class="definition"><h3 id="Struct_GroupAdmin">Struct: GroupAdmin</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -206,7 +185,7 @@ regarding the user.</p>
 <tr><td>7</td><td>groupCardinality</td><td><code><a href="#Enum_GroupCardinality">GroupCardinality</a></code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>8</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>User group is a collection of users.</p>
+</table><br/><p>User group is a collection of users.</p>
  <li><b>groupId</b> : Group id provided by the client</li>
  <li><b>domainId</b> : Domain id for this user group</li>
  <li><b>name</b> : Name for the user group. should be one word</li>
@@ -217,7 +196,7 @@ regarding the user.</p>
  <li>createdTime : Will be set by the system</li>
  <li>updatedTime : Will be set by the system</li>
  
-</pre><br/></div><div class="definition"><h3 id="Struct_GroupMembership">Struct: GroupMembership</h3>
+<br/></div><div class="definition"><h3 id="Struct_GroupMembership">Struct: GroupMembership</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>parentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>childId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -225,9 +204,9 @@ regarding the user.</p>
 <tr><td>4</td><td>childType</td><td><code><a href="#Enum_GroupChildType">GroupChildType</a></code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>System internal data type to map group memberships</p>
+</table><br/><p>System internal data type to map group memberships</p>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_EntityType">Struct: EntityType</h3>
+<br/></div><div class="definition"><h3 id="Struct_EntityType">Struct: EntityType</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -235,7 +214,7 @@ regarding the user.</p>
 <tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>client defined entity types</p>
+</table><br/><p>client defined entity types</p>
 <li><b>entityTypeId</b> : Entity type id provided by the client</li>
 <li><b>domainId</b> : Domain id of the domain.</li>
 <li><b>name</b> : Name for the entity type. Should be a single word.</li>
@@ -243,17 +222,17 @@ regarding the user.</p>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_SearchCriteria">Struct: SearchCriteria</h3>
+<br/></div><div class="definition"><h3 id="Struct_SearchCriteria">Struct: SearchCriteria</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>searchField</td><td><code><a href="#Enum_EntitySearchField">EntitySearchField</a></code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>value</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>3</td><td>searchCondition</td><td><code><a href="#Enum_SearchCondition">SearchCondition</a></code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Container object for search criteria</p>
+</table><br/><p>Container object for search criteria</p>
 <li><b>searchField</b> : Entity search field</li>
 <li><b>value</b> : Search value</li>
 <li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_Entity">Struct: Entity</h3>
+<br/></div><div class="definition"><h3 id="Struct_Entity">Struct: Entity</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -268,7 +247,7 @@ regarding the user.</p>
 <tr><td>11</td><td>originalEntityCreationTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>12</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>13</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Entity object which is used to register an entity in the system.</p>
+</table><br/><p>Entity object which is used to register an entity in the system.</p>
 <li><b>entityId</b> : Entity id provided by the client</li>
 <li><b>domainId</b> : Domain id</li>
 <li><b>entityTypeId</b> : Entity type id</li>
@@ -283,7 +262,7 @@ set will be default to current time</li>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_PermissionType">Struct: PermissionType</h3>
+<br/></div><div class="definition"><h3 id="Struct_PermissionType">Struct: PermissionType</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -291,7 +270,7 @@ set will be default to current time</li>
 <tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>5</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>Object for creating client defined permission type</p>
+</table><br/><p>Object for creating client defined permission type</p>
 <li><b>permissionTypeId</b> : Permission type id provided by the client</li>
 <li><b>domainId</b> : Domain id</li>
 <li><b>name</b> : Single word name for the permission</li>
@@ -299,7 +278,7 @@ set will be default to current time</li>
 <li>createdTime : Will be set by the system</li>
 <li>updatedTime : Will be set by the system</li>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_Sharing">Struct: Sharing</h3>
+<br/></div><div class="definition"><h3 id="Struct_Sharing">Struct: Sharing</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>permissionTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>2</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -309,19 +288,19 @@ set will be default to current time</li>
 <tr><td>6</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>7</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>8</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><pre><p>This is an internal enum type for managing sharings</p>
+</table><br/><p>This is an internal enum type for managing sharings</p>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>
+<br/></div><div class="definition"><h3 id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
-</table><br/><pre><p>Exception model used in the sharing registry service</p>
+</table><br/><p>Exception model used in the sharing registry service</p>
 
-</pre><br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
+<br/></div><div class="definition"><h3 id="Struct_DuplicateEntryException">Exception: DuplicateEntryException</h3>
 <table class="table-bordered table-striped table-condensed"><thead><th>Key</th><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></thead>
 <tr><td>1</td><td>message</td><td><code>string</code></td><td></td><td>required</td><td></td></tr>
-</table><br/><pre>This exception is thrown when you try to save a duplicate entity that already exists
+</table><br/>This exception is thrown when you try to save a duplicate entity that already exists
   in the database.
 
   message: contains the associated error message
 
-</pre><br/></div></div></body></html>
+<br/></div></div></body></html>
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/style.css b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
index c53ad37..34fd9d7 100644
--- a/modules/sharing-registry/sharing-service-docs/api-docs/style.css
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
@@ -1,21 +1,11 @@
-/**
+/*!
+ * Bootstrap v2.0.3
  *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
  */
 .clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";}
 .clearfix:after{clear:both;}
diff --git a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
index 9bb1b70..947bc57 100755
--- a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
+++ b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
@@ -27,7 +27,8 @@ show_usage() {
 	echo "options:"
 	echo -e "\tcs Generate/Update Credential Store Stubs"
 	echo -e "\torch Generate/Update Orchestrator Stubs"
-	echo -e "\registry Generate/Update Registry Stubs"
+	echo -e "\tregistry Generate/Update Registry Stubs"
+	echo -e "\tsharing Generate/Update Sharing Registry Stubs"
 	echo -e "\tall Generate/Update all stubs (Credential Store, Orchestrator, Registry)."
 	echo -e "\t-h[elp] Print the usage options of this script"
 	echo -e "\t--native-thrift Use natively installed thrift instead of Docker image"
@@ -83,6 +84,9 @@ setup() {
     REGISTRY_THRIFT_FILE="$BASEDIR/component-cpis/registry-api.thrift"
     REGISTRY_SRC_DIR='../../modules/registry/registry-server/registry-api-stubs/src/main/java/'
 
+    SHARING_REGISTRY_THRIFT_FILE="$BASEDIR/component-cpis/sharing_cpi.thrift"
+    SHARING_REGISTRY_SRC_DIR='../../modules/sharing-registry/sharing-registry-stubs/src/main/java/'
+
     BASE_API_SRC_DIR='../../airavata-api/airavata-base-api/src/main/java'
 
     # Initialize the thrift arguments.
@@ -203,6 +207,7 @@ do
             generate_thrift_stubs ${CS_THRIFT_FILE} ${CS_SRC_DIR}
             generate_thrift_stubs ${ORCHESTRATOR_THRIFT_FILE} ${ORCHESTRATOR_SRC_DIR}
             generate_thrift_stubs ${REGISTRY_THRIFT_FILE} ${REGISTRY_SRC_DIR}
+            generate_thrift_stubs ${SHARING_REGISTRY_THRIFT_FILE} ${SHARING_REGISTRY_SRC_DIR}
             ;;
     cs)   echo "Generating Credential Store Stubs"
             setup
@@ -216,6 +221,10 @@ do
             setup
             generate_thrift_stubs ${REGISTRY_THRIFT_FILE} ${REGISTRY_SRC_DIR}
             ;;
+    sharing)    echo "Generate Sharing Registry Stubs"
+            setup
+            generate_thrift_stubs ${SHARING_REGISTRY_THRIFT_FILE} ${SHARING_REGISTRY_SRC_DIR}
+            ;;
     --native-thrift)
             THRIFT_NATIVE="true"
             ;;
diff --git a/modules/sharing-registry/thrift_models/sharing_cpi.thrift b/thrift-interface-descriptions/component-cpis/sharing_cpi.thrift
similarity index 98%
rename from modules/sharing-registry/thrift_models/sharing_cpi.thrift
rename to thrift-interface-descriptions/component-cpis/sharing_cpi.thrift
index 7f3087f..6aca8f3 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/thrift-interface-descriptions/component-cpis/sharing_cpi.thrift
@@ -22,9 +22,12 @@ namespace java org.apache.airavata.sharing.registry.service.cpi
 namespace php Airavata.API.Sharing
 namespace py airavata.api.sharing
 
-include "./sharing_models.thrift"
+include "../data-models/sharing-models/sharing_models.thrift"
+include "../base-api/base_api.thrift"
 
-service SharingRegistryService {
+const string SHARING_CPI_VERSION = "0.18.0"
+
+service SharingRegistryService extends base_api.BaseAPI {
 
     /**
       <p>API method to create a new domain</p>
diff --git a/modules/sharing-registry/thrift_models/sharing_models.thrift b/thrift-interface-descriptions/data-models/sharing-models/sharing_models.thrift
similarity index 100%
rename from modules/sharing-registry/thrift_models/sharing_models.thrift
rename to thrift-interface-descriptions/data-models/sharing-models/sharing_models.thrift
diff --git a/thrift-interface-descriptions/generate-thrift-stubs.sh b/thrift-interface-descriptions/generate-thrift-stubs.sh
index ccdd914..83b7854 100755
--- a/thrift-interface-descriptions/generate-thrift-stubs.sh
+++ b/thrift-interface-descriptions/generate-thrift-stubs.sh
@@ -81,13 +81,14 @@ setup() {
     AIRAVATA_API_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/airavata-apis/airavata_api.thrift"
     SHARING_API_THRIFT_FILE="${BASEDIR}/modules/sharing-registry/thrift_models/sharing_cpi.thrift"
     DATAMODEL_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/data-models/airavata_data_models.thrift"
-    SHARING_DATAMODEL_THRIFT_FILE="${BASEDIR}/modules/sharing-registry/thrift_models/sharing_models.thrift"
+    SHARING_DATAMODEL_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/data-models/sharing-models/sharing_models.thrift"
     APP_CATALOG_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/data-models/app-catalog-models/app_catalog_models.thrift"
     RESOURCE_CATALOG_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/data-models/resource-catalog-models/resource_catalog_models.thrift"
     WORKFLOW_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/data-models/workflow-models/workflow_data_model.thrift"
     PROFILE_SERVICE_THRIFT_FILE="${BASEDIR}/thrift-interface-descriptions/service-cpis/profile-service/profile-service-cpi.thrift"
 
     DATAMODEL_SRC_DIR='../airavata-api/airavata-data-models/src/main/java'
+    SHARING_DATAMODEL_SRC_DIR='../modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models'
     JAVA_API_SDK_DIR='../airavata-api/airavata-api-stubs/src/main/java'
     PHP_SDK_DIR='../airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib'
     CPP_SDK_DIR='../airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/'
@@ -194,6 +195,17 @@ generate_java_stubs() {
     # Compare the newly generated beans with existing sources and replace the changed ones.
     copy_changed_files ${JAVA_BEAN_GEN_DIR} ${DATAMODEL_SRC_DIR}
 
+    # Clear Bean generation directory as sharing data models are transferred to a different directory
+    rm -rf ${JAVA_BEAN_GEN_DIR}
+
+    # Generate data models for sharing registry
+    $THRIFT_EXEC ${THRIFT_ARGS} --gen java:beans,generated_annotations=undated ${SHARING_DATAMODEL_THRIFT_FILE} || fail unable to generate java bean thrift classes on sharing registry model
+
+    add_license_header $JAVA_BEAN_GEN_DIR
+
+    mkdir -p ${SHARING_DATAMODEL_SRC_DIR}
+    copy_changed_files ${JAVA_BEAN_GEN_DIR}/org/apache/airavata/sharing/registry/models ${SHARING_DATAMODEL_SRC_DIR}
+
     ###############################################################################
     # Generate/Update source used by Airavata Server Skeletons & Java Client Stubs #
     #  JAVA server and client both use generated api-boilerplate-code             #