You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/10/17 16:40:50 UTC

[1/9] airavata git commit: adding initial how to use documents

Repository: airavata
Updated Branches:
  refs/heads/develop 6718761f7 -> e04785a4c


http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-service-docs/api-docs/style.css
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/style.css b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
new file mode 100644
index 0000000..34fd9d7
--- /dev/null
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/style.css
@@ -0,0 +1,184 @@
+/*!
+ * Bootstrap v2.0.3
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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;}
+.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
+.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
+article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
+audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
+audio:not([controls]){display:none;}
+html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
+a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
+a:hover,a:active{outline:0;}
+sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
+sup{top:-0.5em;}
+sub{bottom:-0.25em;}
+img{max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
+button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
+button,input{*overflow:visible;line-height:normal;}
+button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
+button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
+input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
+input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
+textarea{overflow:auto;vertical-align:top;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;}
+a{color:#0088cc;text-decoration:none;}
+a:hover{color:#005580;text-decoration:underline;}
+.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
+.row:after{clear:both;}
+[class*="span"]{float:left;margin-left:20px;}
+.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
+.span12{width:940px;}
+.span11{width:860px;}
+.span10{width:780px;}
+.span9{width:700px;}
+.span8{width:620px;}
+.span7{width:540px;}
+.span6{width:460px;}
+.span5{width:380px;}
+.span4{width:300px;}
+.span3{width:220px;}
+.span2{width:140px;}
+.span1{width:60px;}
+.offset12{margin-left:980px;}
+.offset11{margin-left:900px;}
+.offset10{margin-left:820px;}
+.offset9{margin-left:740px;}
+.offset8{margin-left:660px;}
+.offset7{margin-left:580px;}
+.offset6{margin-left:500px;}
+.offset5{margin-left:420px;}
+.offset4{margin-left:340px;}
+.offset3{margin-left:260px;}
+.offset2{margin-left:180px;}
+.offset1{margin-left:100px;}
+.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}
+.row-fluid:after{clear:both;}
+.row-fluid [class*="span"]{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574%;*margin-left:2.0744680846382977%;}
+.row-fluid [class*="span"]:first-child{margin-left:0;}
+.row-fluid .span12{width:99.99999998999999%;*width:99.94680850063828%;}
+.row-fluid .span11{width:91.489361693%;*width:91.4361702036383%;}
+.row-fluid .span10{width:82.97872339599999%;*width:82.92553190663828%;}
+.row-fluid .span9{width:74.468085099%;*width:74.4148936096383%;}
+.row-fluid .span8{width:65.95744680199999%;*width:65.90425531263828%;}
+.row-fluid .span7{width:57.446808505%;*width:57.3936170156383%;}
+.row-fluid .span6{width:48.93617020799999%;*width:48.88297871863829%;}
+.row-fluid .span5{width:40.425531911%;*width:40.3723404216383%;}
+.row-fluid .span4{width:31.914893614%;*width:31.8617021246383%;}
+.row-fluid .span3{width:23.404255317%;*width:23.3510638276383%;}
+.row-fluid .span2{width:14.89361702%;*width:14.8404255306383%;}
+.row-fluid .span1{width:6.382978723%;*width:6.329787233638298%;}
+.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
+.container:after{clear:both;}
+.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}
+.container-fluid:after{clear:both;}
+p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
+.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;}
+h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
+h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
+h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
+h3{font-size:18px;line-height:27px;}h3 small{font-size:14px;}
+h4,h5,h6{line-height:18px;}
+h4{font-size:14px;}h4 small{font-size:12px;}
+h5{font-size:12px;}
+h6{font-size:11px;color:#999999;text-transform:uppercase;}
+.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;}
+.page-header h1{line-height:1;}
+ul,ol{padding:0;margin:0 0 9px 25px;}
+ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
+ul{list-style:disc;}
+ol{list-style:decimal;}
+li{line-height:18px;}
+ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
+dl{margin-bottom:18px;}
+dt,dd{line-height:18px;}
+dt{font-weight:bold;line-height:17px;}
+dd{margin-left:9px;}
+.dl-horizontal dt{float:left;width:120px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.dl-horizontal dd{margin-left:130px;}
+hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
+strong{font-weight:bold;}
+em{font-style:italic;}
+.muted{color:#999999;}
+abbr[title]{cursor:help;border-bottom:1px dotted #ddd;}
+abbr.initialism{font-size:90%;text-transform:uppercase;}
+blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
+blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
+blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
+q:before,q:after,blockquote:before,blockquote:after{content:"";}
+address{display:block;margin-bottom:18px;font-style:normal;line-height:18px;}
+small{font-size:100%;}
+cite{font-style:normal;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:18px;}
+pre code{padding:0;color:inherit;background-color:transparent;border:0;}
+.pre-scrollable{max-height:340px;overflow-y:scroll;}
+.label,.badge{font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
+.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
+a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
+.label-important,.badge-important{background-color:#b94a48;}
+.label-important[href],.badge-important[href]{background-color:#953b39;}
+.label-warning,.badge-warning{background-color:#f89406;}
+.label-warning[href],.badge-warning[href]{background-color:#c67605;}
+.label-success,.badge-success{background-color:#468847;}
+.label-success[href],.badge-success[href]{background-color:#356635;}
+.label-info,.badge-info{background-color:#3a87ad;}
+.label-info[href],.badge-info[href]{background-color:#2d6987;}
+.label-inverse,.badge-inverse{background-color:#333333;}
+.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
+table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
+.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
+.table th{font-weight:bold;}
+.table thead th{vertical-align:bottom;}
+.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
+.table tbody+tbody{border-top:2px solid #dddddd;}
+.table-condensed th,.table-condensed td{padding:4px 5px;}
+.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapsed;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
+.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
+.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px;}
+.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px;}
+.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;}
+.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;}
+.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;}
+table .span1{float:none;width:44px;margin-left:0;}
+table .span2{float:none;width:124px;margin-left:0;}
+table .span3{float:none;width:204px;margin-left:0;}
+table .span4{float:none;width:284px;margin-left:0;}
+table .span5{float:none;width:364px;margin-left:0;}
+table .span6{float:none;width:444px;margin-left:0;}
+table .span7{float:none;width:524px;margin-left:0;}
+table .span8{float:none;width:604px;margin-left:0;}
+table .span9{float:none;width:684px;margin-left:0;}
+table .span10{float:none;width:764px;margin-left:0;}
+table .span11{float:none;width:844px;margin-left:0;}
+table .span12{float:none;width:924px;margin-left:0;}
+table .span13{float:none;width:1004px;margin-left:0;}
+table .span14{float:none;width:1084px;margin-left:0;}
+table .span15{float:none;width:1164px;margin-left:0;}
+table .span16{float:none;width:1244px;margin-left:0;}
+table .span17{float:none;width:1324px;margin-left:0;}
+table .span18{float:none;width:1404px;margin-left:0;}
+table .span19{float:none;width:1484px;margin-left:0;}
+table .span20{float:none;width:1564px;margin-left:0;}
+table .span21{float:none;width:1644px;margin-left:0;}
+table .span22{float:none;width:1724px;margin-left:0;}
+table .span23{float:none;width:1804px;margin-left:0;}
+table .span24{float:none;width:1884px;margin-left:0;}
+/* Auto-generated CSS for generated Thrift docs */
+h3, h4 { margin-bottom: 6px; }
+div.definition { border: 1px solid #CCC; margin-bottom: 10px; padding: 10px; }
+div.extends { margin: -0.5em 0 1em 5em }
+td { vertical-align: top; }
+table { empty-cells: show; }
+code { line-height: 20px; }
+.table-bordered th, .table-bordered td { border-bottom: 1px solid #DDDDDD; }

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-service-docs/index.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/index.html b/modules/sharing-registry/sharing-service-docs/index.html
new file mode 100644
index 0000000..14f730b
--- /dev/null
+++ b/modules/sharing-registry/sharing-service-docs/index.html
@@ -0,0 +1,93 @@
+<html>
+<head>
+    <title>Airavata Sharing Registry Service</title>
+    <link href="style.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div class="container-fluid">
+    <h2>Welcome to Airavata Sharing Registry Service Documentation</h2>
+
+    <p>Airavata Data Sharing Registry Service is a general purpose data sharing and access controlling service.</p>
+
+    <div>
+        <ul><a href="#getting-started">Getting Started</a></ul>
+        <ul><a href="./api-docs/index.html" target="_blank">API Docs</a></ul>
+    </div>
+    <div id="#getting-started">
+        <h3>Getting started with Java client</h3>
+
+        <div class="definition">
+            <h4>0. Required maven dependencies</h4>
+            <pre>
+                &lt;dependency&gt;
+                    &lt;groupId>org.apache.airavata&lt;/groupId&gt;
+                    &lt;artifactId>airavata-sharing-registry-stubs&lt;/artifactId&gt;
+                    &lt;version>0.17-SNAPSHOT&lt;/version&gt;
+                &lt;/dependency&gt;
+
+                &lt;dependency&gt;
+                    &lt;groupId>org.apache.thrift&lt;/groupId&gt;
+                    &lt;artifactId>libthrift&lt;/artifactId&gt;
+                    &lt;version>0.9.3&lt;/version&gt;
+                &lt;/dependency&gt;
+            </pre>
+        </div>
+
+        <div class="definition">
+            <h4>1. Creating the thrift client</h4>
+            <pre>
+                //should use the correct host name and port here
+                String serverHost = "gw56.iu.xsede.org";
+                int serverPort = 7878;
+
+                TTransport transport = new TSocket(serverHost, serverPort);
+                transport.open();
+                TProtocol protocol = new TBinaryProtocol(transport);
+                SharingRegistryService.Client sharingServiceClient = new SharingRegistryService.Client(protocol);
+            </pre>
+        </div>
+
+        <div class="definition">
+            <h4>2. Create a domain</h4>
+            <pre>
+                Domain domain = new Domain();
+                //has to be one word
+                domain.setName("test-domain");
+                //optional
+                domain.setDescription("test domain description");
+
+                //domain id will be same as domain name
+                String domainId = sharingServiceClient.createDomain(domain);
+            </pre>
+        </div>
+
+        <div class="definition">
+            <h4>2. Create User</h4>
+            <pre>
+                User user = new User();
+                //required
+                user.setUserName("test-user");
+                //required
+                user.setDomainId(domainId);
+                //required
+                user.setFirstName("John");
+                //required
+                user.setLastName("Doe");
+                //required
+                user.setEmail("john.doe@abc.com");
+                //optional - this should be bytes of the users image icon
+                byte[] icon = new byte[10];
+                user.setIcon(icon);
+
+                //can be manually set. otherwise will be set to the current time by the system
+                user.setCreatedTime(System.currentTimeMillis());
+                user.setUpdatedTime(System.currentTimeMillis());
+
+                //will be of form &lt;domainId&gt;:&lt;userName&gt;
+                String userId = sharingServiceClient.createUser(user);
+            </pre>
+        </div>
+    </div>
+</div>
+</body>
+</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-service-docs/style.css
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/style.css b/modules/sharing-registry/sharing-service-docs/style.css
new file mode 100644
index 0000000..34fd9d7
--- /dev/null
+++ b/modules/sharing-registry/sharing-service-docs/style.css
@@ -0,0 +1,184 @@
+/*!
+ * Bootstrap v2.0.3
+ *
+ * Copyright 2012 Twitter, Inc
+ * Licensed under the Apache License v2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * 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;}
+.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
+.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
+article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
+audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
+audio:not([controls]){display:none;}
+html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
+a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
+a:hover,a:active{outline:0;}
+sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
+sup{top:-0.5em;}
+sub{bottom:-0.25em;}
+img{max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
+button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
+button,input{*overflow:visible;line-height:normal;}
+button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
+button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
+input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
+input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
+textarea{overflow:auto;vertical-align:top;}
+body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;}
+a{color:#0088cc;text-decoration:none;}
+a:hover{color:#005580;text-decoration:underline;}
+.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
+.row:after{clear:both;}
+[class*="span"]{float:left;margin-left:20px;}
+.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
+.span12{width:940px;}
+.span11{width:860px;}
+.span10{width:780px;}
+.span9{width:700px;}
+.span8{width:620px;}
+.span7{width:540px;}
+.span6{width:460px;}
+.span5{width:380px;}
+.span4{width:300px;}
+.span3{width:220px;}
+.span2{width:140px;}
+.span1{width:60px;}
+.offset12{margin-left:980px;}
+.offset11{margin-left:900px;}
+.offset10{margin-left:820px;}
+.offset9{margin-left:740px;}
+.offset8{margin-left:660px;}
+.offset7{margin-left:580px;}
+.offset6{margin-left:500px;}
+.offset5{margin-left:420px;}
+.offset4{margin-left:340px;}
+.offset3{margin-left:260px;}
+.offset2{margin-left:180px;}
+.offset1{margin-left:100px;}
+.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}
+.row-fluid:after{clear:both;}
+.row-fluid [class*="span"]{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574%;*margin-left:2.0744680846382977%;}
+.row-fluid [class*="span"]:first-child{margin-left:0;}
+.row-fluid .span12{width:99.99999998999999%;*width:99.94680850063828%;}
+.row-fluid .span11{width:91.489361693%;*width:91.4361702036383%;}
+.row-fluid .span10{width:82.97872339599999%;*width:82.92553190663828%;}
+.row-fluid .span9{width:74.468085099%;*width:74.4148936096383%;}
+.row-fluid .span8{width:65.95744680199999%;*width:65.90425531263828%;}
+.row-fluid .span7{width:57.446808505%;*width:57.3936170156383%;}
+.row-fluid .span6{width:48.93617020799999%;*width:48.88297871863829%;}
+.row-fluid .span5{width:40.425531911%;*width:40.3723404216383%;}
+.row-fluid .span4{width:31.914893614%;*width:31.8617021246383%;}
+.row-fluid .span3{width:23.404255317%;*width:23.3510638276383%;}
+.row-fluid .span2{width:14.89361702%;*width:14.8404255306383%;}
+.row-fluid .span1{width:6.382978723%;*width:6.329787233638298%;}
+.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
+.container:after{clear:both;}
+.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}
+.container-fluid:after{clear:both;}
+p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
+.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;}
+h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
+h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
+h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
+h3{font-size:18px;line-height:27px;}h3 small{font-size:14px;}
+h4,h5,h6{line-height:18px;}
+h4{font-size:14px;}h4 small{font-size:12px;}
+h5{font-size:12px;}
+h6{font-size:11px;color:#999999;text-transform:uppercase;}
+.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;}
+.page-header h1{line-height:1;}
+ul,ol{padding:0;margin:0 0 9px 25px;}
+ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
+ul{list-style:disc;}
+ol{list-style:decimal;}
+li{line-height:18px;}
+ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
+dl{margin-bottom:18px;}
+dt,dd{line-height:18px;}
+dt{font-weight:bold;line-height:17px;}
+dd{margin-left:9px;}
+.dl-horizontal dt{float:left;width:120px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
+.dl-horizontal dd{margin-left:130px;}
+hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
+strong{font-weight:bold;}
+em{font-style:italic;}
+.muted{color:#999999;}
+abbr[title]{cursor:help;border-bottom:1px dotted #ddd;}
+abbr.initialism{font-size:90%;text-transform:uppercase;}
+blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
+blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
+blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
+q:before,q:after,blockquote:before,blockquote:after{content:"";}
+address{display:block;margin-bottom:18px;font-style:normal;line-height:18px;}
+small{font-size:100%;}
+cite{font-style:normal;}
+code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
+pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:18px;}
+pre code{padding:0;color:inherit;background-color:transparent;border:0;}
+.pre-scrollable{max-height:340px;overflow-y:scroll;}
+.label,.badge{font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
+.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
+.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
+a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
+.label-important,.badge-important{background-color:#b94a48;}
+.label-important[href],.badge-important[href]{background-color:#953b39;}
+.label-warning,.badge-warning{background-color:#f89406;}
+.label-warning[href],.badge-warning[href]{background-color:#c67605;}
+.label-success,.badge-success{background-color:#468847;}
+.label-success[href],.badge-success[href]{background-color:#356635;}
+.label-info,.badge-info{background-color:#3a87ad;}
+.label-info[href],.badge-info[href]{background-color:#2d6987;}
+.label-inverse,.badge-inverse{background-color:#333333;}
+.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
+table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
+.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
+.table th{font-weight:bold;}
+.table thead th{vertical-align:bottom;}
+.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
+.table tbody+tbody{border-top:2px solid #dddddd;}
+.table-condensed th,.table-condensed td{padding:4px 5px;}
+.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapsed;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
+.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
+.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px;}
+.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px;}
+.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;}
+.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;}
+.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
+.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;}
+table .span1{float:none;width:44px;margin-left:0;}
+table .span2{float:none;width:124px;margin-left:0;}
+table .span3{float:none;width:204px;margin-left:0;}
+table .span4{float:none;width:284px;margin-left:0;}
+table .span5{float:none;width:364px;margin-left:0;}
+table .span6{float:none;width:444px;margin-left:0;}
+table .span7{float:none;width:524px;margin-left:0;}
+table .span8{float:none;width:604px;margin-left:0;}
+table .span9{float:none;width:684px;margin-left:0;}
+table .span10{float:none;width:764px;margin-left:0;}
+table .span11{float:none;width:844px;margin-left:0;}
+table .span12{float:none;width:924px;margin-left:0;}
+table .span13{float:none;width:1004px;margin-left:0;}
+table .span14{float:none;width:1084px;margin-left:0;}
+table .span15{float:none;width:1164px;margin-left:0;}
+table .span16{float:none;width:1244px;margin-left:0;}
+table .span17{float:none;width:1324px;margin-left:0;}
+table .span18{float:none;width:1404px;margin-left:0;}
+table .span19{float:none;width:1484px;margin-left:0;}
+table .span20{float:none;width:1564px;margin-left:0;}
+table .span21{float:none;width:1644px;margin-left:0;}
+table .span22{float:none;width:1724px;margin-left:0;}
+table .span23{float:none;width:1804px;margin-left:0;}
+table .span24{float:none;width:1884px;margin-left:0;}
+/* Auto-generated CSS for generated Thrift docs */
+h3, h4 { margin-bottom: 6px; }
+div.definition { border: 1px solid #CCC; margin-bottom: 10px; padding: 10px; }
+div.extends { margin: -0.5em 0 1em 5em }
+td { vertical-align: top; }
+table { empty-cells: show; }
+code { line-height: 20px; }
+.table-bordered th, .table-bordered td { border-bottom: 1px solid #DDDDDD; }

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/thrift_models/sharing_cpi.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_cpi.thrift b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
index 6acae6d..274eb4b 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -27,11 +27,11 @@ service SharingRegistryService {
     /**
       <p>API method to create a new domain</p>
     */
-    string createDomain(1: required sharing_models.Domain domainId) throws (1: sharing_models.SharingRegistryException sre)
+    string createDomain(1: required sharing_models.Domain domain) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to update a domain</p>
     */
-    bool updateDomain(1: required sharing_models.Domain domainId) throws (1: sharing_models.SharingRegistryException sre)
+    bool updateDomain(1: required sharing_models.Domain domain) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to delete domain</p>
     */

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/thrift_models/thrift-gen.sh
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/thrift-gen.sh b/modules/sharing-registry/thrift_models/thrift-gen.sh
index 89d2efd..7449682 100755
--- a/modules/sharing-registry/thrift_models/thrift-gen.sh
+++ b/modules/sharing-registry/thrift_models/thrift-gen.sh
@@ -18,5 +18,5 @@ rm -r gen-java
 thrift --gen html sharing_models.thrift
 thrift --gen html sharing_cpi.thrift
 
-rm -r ../api-docs
-mv gen-html ../api-docs
+rm -r ../sharing-service-docs/api-docs
+mv gen-html ../sharing-service-docs/api-docs


[9/9] airavata git commit: adding missing thrift file

Posted by sc...@apache.org.
adding missing thrift file


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/e04785a4
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/e04785a4
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/e04785a4

Branch: refs/heads/develop
Commit: e04785a4ce733627bf2c702b18099773cd050f08
Parents: b6e07d7
Author: scnakandala <su...@gmail.com>
Authored: Mon Oct 17 12:40:40 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Mon Oct 17 12:40:40 2016 -0400

----------------------------------------------------------------------
 .../sharing/registry/models/Domain.java         |  2 +-
 .../sharing/registry/models/Entity.java         |  2 +-
 .../sharing/registry/models/EntityType.java     |  2 +-
 .../registry/models/GroupCardinality.java       | 50 ++++++++++++++++++++
 .../registry/models/GroupMembership.java        |  2 +-
 .../sharing/registry/models/PermissionType.java |  2 +-
 .../sharing/registry/models/SearchCriteria.java |  2 +-
 .../sharing/registry/models/Sharing.java        |  2 +-
 .../models/SharingRegistryException.java        |  2 +-
 .../airavata/sharing/registry/models/User.java  |  2 +-
 .../sharing/registry/models/UserGroup.java      |  2 +-
 .../service/cpi/SharingRegistryService.java     |  2 +-
 12 files changed, 61 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
----------------------------------------------------------------------
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 4d1f544..a0e89a5 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
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>, java.io.Serializable, Cloneable, Comparable<Domain> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Domain");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
----------------------------------------------------------------------
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 f1ae4b8..7fc932e 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
@@ -49,7 +49,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>, java.io.Serializable, Cloneable, Comparable<Entity> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Entity");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
----------------------------------------------------------------------
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 2195848..5d7ce4c 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
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class EntityType implements org.apache.thrift.TBase<EntityType, EntityType._Fields>, java.io.Serializable, Cloneable, Comparable<EntityType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EntityType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
----------------------------------------------------------------------
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
new file mode 100644
index 0000000..00641c6
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
@@ -0,0 +1,50 @@
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+package org.apache.airavata.sharing.registry.models;
+
+
+import java.util.Map;
+import java.util.HashMap;
+import org.apache.thrift.TEnum;
+
+/**
+ * <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>
+ * 
+ */
+public enum GroupCardinality implements org.apache.thrift.TEnum {
+  SINGLE_USER(0),
+  MULTI_USER(1);
+
+  private final int value;
+
+  private GroupCardinality(int value) {
+    this.value = value;
+  }
+
+  /**
+   * Get the integer value of this enum value, as defined in the Thrift IDL.
+   */
+  public int getValue() {
+    return value;
+  }
+
+  /**
+   * Find a the enum type by its integer value, as defined in the Thrift IDL.
+   * @return null if the value is not found.
+   */
+  public static GroupCardinality findByValue(int value) { 
+    switch (value) {
+      case 0:
+        return SINGLE_USER;
+      case 1:
+        return MULTI_USER;
+      default:
+        return null;
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
----------------------------------------------------------------------
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 819dd0d..02920b8 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * <p>System internal data type to map group memberships</p>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class GroupMembership implements org.apache.thrift.TBase<GroupMembership, GroupMembership._Fields>, java.io.Serializable, Cloneable, Comparable<GroupMembership> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupMembership");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
----------------------------------------------------------------------
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 9736a85..f05a484 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
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class PermissionType implements org.apache.thrift.TBase<PermissionType, PermissionType._Fields>, java.io.Serializable, Cloneable, Comparable<PermissionType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PermissionType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
----------------------------------------------------------------------
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 faffae0..c0fc452 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
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * <li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, SearchCriteria._Fields>, java.io.Serializable, Cloneable, Comparable<SearchCriteria> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SearchCriteria");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
----------------------------------------------------------------------
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 753fe74..203f8db 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * <p>This is an internal enum type for managing sharings</p>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields>, java.io.Serializable, Cloneable, Comparable<Sharing> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Sharing");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
----------------------------------------------------------------------
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 61e08aa..4eca646 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * <p>Exception model used in the sharing registry service</p>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class SharingRegistryException extends TException implements org.apache.thrift.TBase<SharingRegistryException, SharingRegistryException._Fields>, java.io.Serializable, Cloneable, Comparable<SharingRegistryException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SharingRegistryException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
----------------------------------------------------------------------
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 34508f7..37e9d34 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
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
----------------------------------------------------------------------
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 484ea3b..1cd8a0a 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
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  *  <li>updatedTime : Will be set by the system</li>
  *  
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._Fields>, java.io.Serializable, Cloneable, Comparable<UserGroup> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserGroup");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e04785a4/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
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 106ff41..803d802 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
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)")
 public class SharingRegistryService {
 
   public interface Iface {


[3/9] airavata git commit: adding initial how to use documents

Posted by sc...@apache.org.
adding initial how to use documents


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/61a0fc95
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/61a0fc95
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/61a0fc95

Branch: refs/heads/develop
Commit: 61a0fc95416a658fae5164165e67bd896dc228fb
Parents: 6718761
Author: scnakandala <su...@gmail.com>
Authored: Fri Oct 14 20:03:16 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Fri Oct 14 20:03:16 2016 -0400

----------------------------------------------------------------------
 modules/sharing-registry/api-docs/index.html    |  79 -----
 .../sharing-registry/api-docs/sharing_cpi.html  | 278 -----------------
 .../api-docs/sharing_models.html                | 273 -----------------
 modules/sharing-registry/api-docs/style.css     | 184 ------------
 .../registry/SharingRegistryServiceTest.java    |  84 ++++++
 .../service/cpi/SharingRegistryService.java     | 296 +++++++++----------
 .../sharing-service-docs/api-docs/index.html    |  79 +++++
 .../api-docs/sharing_cpi.html                   | 278 +++++++++++++++++
 .../api-docs/sharing_models.html                | 273 +++++++++++++++++
 .../sharing-service-docs/api-docs/style.css     | 184 ++++++++++++
 .../sharing-service-docs/index.html             |  93 ++++++
 .../sharing-service-docs/style.css              | 184 ++++++++++++
 .../thrift_models/sharing_cpi.thrift            |   4 +-
 .../thrift_models/thrift-gen.sh                 |   4 +-
 14 files changed, 1327 insertions(+), 966 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/api-docs/index.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/api-docs/index.html b/modules/sharing-registry/api-docs/index.html
deleted file mode 100644
index 6663a9d..0000000
--- a/modules/sharing-registry/api-docs/index.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<html><head>
-<link href="style.css" rel="stylesheet" type="text/css"/>
-<title>All Thrift declarations</title></head><body>
-<div class="container-fluid">
-<h1>All Thrift declarations</h1>
-<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
-<tr>
-<td>sharing_cpi</td><td><a href="sharing_cpi.html#Svc_SharingRegistryService">SharingRegistryService</a><br/>
-<ul>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createDomain">createDomain</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createEntityType">createEntityType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createGroup">createGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createPermissionType">createPermissionType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteDomain">deleteDomain</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteEntity">deleteEntity</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteEntityType">deleteEntityType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomain">getDomain</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomains">getDomains</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntity">getEntity</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntityType">getEntityType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntityTypes">getEntityTypes</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroup">getGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroupMembersOfTypeGroup">getGroupMembersOfTypeGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroupMembersOfTypeUser">getGroupMembersOfTypeUser</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroups">getGroups</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getListOfSharedGroups">getListOfSharedGroups</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getListOfSharedUsers">getListOfSharedUsers</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionType">getPermissionType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getUser">getUser</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getUsers">getUsers</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_registerEntity">registerEntity</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_registerUser">registerUser</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateGroup">updateGroup</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updatePermissionType">updatePermissionType</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updatedUser">updatedUser</a></li>
-<li><a href="sharing_cpi.html#Fn_SharingRegistryService_userHasAccess">userHasAccess</a></li>
-</ul>
-</td>
-<td></td>
-<td></code></td>
-</tr><tr>
-<td>sharing_models</td><td></td>
-<td><a href="sharing_models.html#Struct_Domain">Domain</a><br/>
-<a href="sharing_models.html#Struct_Entity">Entity</a><br/>
-<a href="sharing_models.html#Enum_EntitySearchField">EntitySearchField</a><br/>
-<a href="sharing_models.html#Struct_EntityType">EntityType</a><br/>
-<a href="sharing_models.html#Enum_GroupCardinality">GroupCardinality</a><br/>
-<a href="sharing_models.html#Enum_GroupChildType">GroupChildType</a><br/>
-<a href="sharing_models.html#Struct_GroupMembership">GroupMembership</a><br/>
-<a href="sharing_models.html#Enum_GroupType">GroupType</a><br/>
-<a href="sharing_models.html#Struct_PermissionType">PermissionType</a><br/>
-<a href="sharing_models.html#Enum_SearchCondition">SearchCondition</a><br/>
-<a href="sharing_models.html#Struct_SearchCriteria">SearchCriteria</a><br/>
-<a href="sharing_models.html#Struct_Sharing">Sharing</a><br/>
-<a href="sharing_models.html#Struct_SharingRegistryException">SharingRegistryException</a><br/>
-<a href="sharing_models.html#Enum_SharingType">SharingType</a><br/>
-<a href="sharing_models.html#Struct_User">User</a><br/>
-<a href="sharing_models.html#Struct_UserGroup">UserGroup</a><br/>
-</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></table>
-</div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/api-docs/sharing_cpi.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/api-docs/sharing_cpi.html b/modules/sharing-registry/api-docs/sharing_cpi.html
deleted file mode 100644
index 037f75e..0000000
--- a/modules/sharing-registry/api-docs/sharing_cpi.html
+++ /dev/null
@@ -1,278 +0,0 @@
-<!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">
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<link href="style.css" rel="stylesheet" type="text/css"/>
-<title>Thrift module: sharing_cpi</title></head><body>
-<div class="container-fluid">
-<h1>Thrift module: sharing_cpi</h1>
-<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
-<tr>
-<td>sharing_cpi</td><td><a href="#Svc_SharingRegistryService">SharingRegistryService</a><br/>
-<ul>
-<li><a href="#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_createDomain">createDomain</a></li>
-<li><a href="#Fn_SharingRegistryService_createEntityType">createEntityType</a></li>
-<li><a href="#Fn_SharingRegistryService_createGroup">createGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_createPermissionType">createPermissionType</a></li>
-<li><a href="#Fn_SharingRegistryService_deleteDomain">deleteDomain</a></li>
-<li><a href="#Fn_SharingRegistryService_deleteEntity">deleteEntity</a></li>
-<li><a href="#Fn_SharingRegistryService_deleteEntityType">deleteEntityType</a></li>
-<li><a href="#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
-<li><a href="#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
-<li><a href="#Fn_SharingRegistryService_getDomain">getDomain</a></li>
-<li><a href="#Fn_SharingRegistryService_getDomains">getDomains</a></li>
-<li><a href="#Fn_SharingRegistryService_getEntity">getEntity</a></li>
-<li><a href="#Fn_SharingRegistryService_getEntityType">getEntityType</a></li>
-<li><a href="#Fn_SharingRegistryService_getEntityTypes">getEntityTypes</a></li>
-<li><a href="#Fn_SharingRegistryService_getGroup">getGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_getGroupMembersOfTypeGroup">getGroupMembersOfTypeGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_getGroupMembersOfTypeUser">getGroupMembersOfTypeUser</a></li>
-<li><a href="#Fn_SharingRegistryService_getGroups">getGroups</a></li>
-<li><a href="#Fn_SharingRegistryService_getListOfSharedGroups">getListOfSharedGroups</a></li>
-<li><a href="#Fn_SharingRegistryService_getListOfSharedUsers">getListOfSharedUsers</a></li>
-<li><a href="#Fn_SharingRegistryService_getPermissionType">getPermissionType</a></li>
-<li><a href="#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
-<li><a href="#Fn_SharingRegistryService_getUser">getUser</a></li>
-<li><a href="#Fn_SharingRegistryService_getUsers">getUsers</a></li>
-<li><a href="#Fn_SharingRegistryService_registerEntity">registerEntity</a></li>
-<li><a href="#Fn_SharingRegistryService_registerUser">registerUser</a></li>
-<li><a href="#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
-<li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
-<li><a href="#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
-<li><a href="#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
-<li><a href="#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
-<li><a href="#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
-<li><a href="#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
-<li><a href="#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
-<li><a href="#Fn_SharingRegistryService_updateGroup">updateGroup</a></li>
-<li><a href="#Fn_SharingRegistryService_updatePermissionType">updatePermissionType</a></li>
-<li><a href="#Fn_SharingRegistryService_updatedUser">updatedUser</a></li>
-<li><a href="#Fn_SharingRegistryService_userHasAccess">userHasAccess</a></li>
-</ul>
-</td>
-<td></td>
-<td></code></td>
-</tr></table>
-<hr/><h2 id="Services">Services</h2>
-<h3 id="Svc_SharingRegistryService">Service: SharingRegistryService</h3>
-<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> domainId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> domainId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><p>API method to update a domain</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><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><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><p>API method to get all domain.</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_registerUser">Function: SharingRegistryService.registerUser</h4>
-<pre><code>string</code> registerUser(<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><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><p>API method to update existing user</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
-<pre><code>bool</code> deleteUser(<code>string</code> userId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> userId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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><p>API method to get a list of users in a specific domain Users will be reverse sorted based on the created time.</p>
-<li>domainId : Domain id</li>
-<li>offset : Starting result number</li>
-<li>limit : Number of max results to be sent</li>
-<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><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><p>API method to update a group</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
-<pre><code>bool</code> deleteGroup(<code>string</code> groupId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> groupId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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><p>API method to get groups in a domainId. Results are reverse sorted based on created time.</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
-<pre><code>bool</code> addUsersToGroup(<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><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>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><p>API method to remove users from a 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> groupId,
-                                                    <code>i32</code> offset,
-                                                    <code>i32</code> limit)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><p>API method to get list of child users in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</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> groupId,
-                                                          <code>i32</code> offset,
-                                                          <code>i32</code> limit)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><p>API method to get list of child groups in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
-<pre><code>bool</code> addChildGroupsToParentGroup(<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><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> childId,
-                                     <code>string</code> groupId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</pre><p>API method to remove a child group from parent group.</p>
-<br/></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>
-</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><p>API method to update entity type</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
-<pre><code>bool</code> deleteEntityType(<code>string</code> entityTypeId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> entityTypeId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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><p>API method to get entity types in a domainId. Results are reverse time sorted based on creation time</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_registerEntity">Function: SharingRegistryService.registerEntity</h4>
-<pre><code>string</code> registerEntity(<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><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><p>API method to update entity</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
-<pre><code>bool</code> deleteEntity(<code>string</code> entityId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> entityId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> userId,
-                                           <code>string</code> entityTypeId,
-                                           <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><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> entityId,
-                                               <code>string</code> permissionTypeId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> entityId,
-                                                     <code>string</code> permissionTypeId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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>
-</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><p>API method to update permission type</p>
-<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
-<pre><code>bool</code> deletePermissionType(<code>string</code> entityTypeId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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> permissionTypeId)
-    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
-</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><p>API method to get list of permission types in a given domainId. Results are reverse time sorted based on creation time</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><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><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><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><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><p>API method to check whether a user has access to a specific entity</p>
-<br/></div></div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/api-docs/sharing_models.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/api-docs/sharing_models.html b/modules/sharing-registry/api-docs/sharing_models.html
deleted file mode 100644
index 1d4dff8..0000000
--- a/modules/sharing-registry/api-docs/sharing_models.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!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">
-<head>
-<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
-<link href="style.css" rel="stylesheet" type="text/css"/>
-<title>Thrift module: sharing_models</title></head><body>
-<div class="container-fluid">
-<h1>Thrift module: sharing_models</h1>
-<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
-<tr>
-<td>sharing_models</td><td></td>
-<td><a href="#Struct_Domain">Domain</a><br/>
-<a href="#Struct_Entity">Entity</a><br/>
-<a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
-<a href="#Struct_EntityType">EntityType</a><br/>
-<a href="#Enum_GroupCardinality">GroupCardinality</a><br/>
-<a href="#Enum_GroupChildType">GroupChildType</a><br/>
-<a href="#Struct_GroupMembership">GroupMembership</a><br/>
-<a href="#Enum_GroupType">GroupType</a><br/>
-<a href="#Struct_PermissionType">PermissionType</a><br/>
-<a href="#Enum_SearchCondition">SearchCondition</a><br/>
-<a href="#Struct_SearchCriteria">SearchCriteria</a><br/>
-<a href="#Struct_Sharing">Sharing</a><br/>
-<a href="#Struct_SharingRegistryException">SharingRegistryException</a><br/>
-<a href="#Enum_SharingType">SharingType</a><br/>
-<a href="#Struct_User">User</a><br/>
-<a href="#Struct_UserGroup">UserGroup</a><br/>
-</td>
-<td><code><a href="#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
-</code></td>
-</tr></table>
-<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_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>
-<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>
-
-<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>
-<p>Group types can be either user level or domain level groups.</p>
-
-<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>
-<p>System internal data type to match group child types</p>
-
-<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>
-<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>
-<li>PARENT_ENTITY_ID : Parent entity id of the entity</li>
-<li>CREATED_TIME : Created time of the entity</li>
-<li>UPDATED_TIME : Updated time of the entity</li>
-
-<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>
-</td></tr>
-<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
-</td></tr>
-<tr><td><code>PRRENT_ENTITY_ID</code></td><td><code>3</code></td><td>
-</td></tr>
-<tr><td><code>CREATED_TIME</code></td><td><code>4</code></td><td>
-</td></tr>
-<tr><td><code>UPDATED_TIME</code></td><td><code>5</code></td><td>
-</td></tr>
-</table></div>
-<div class="definition"><h3 id="Enum_SearchCondition">Enumeration: SearchCondition</h3>
-<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 and updated time.</li>
-<li>LTE : Less than or equal. Only applicable for created time and updated time.</li>
-
-<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>
-</td></tr>
-<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
-</td></tr>
-<tr><td><code>GTE</code></td><td><code>3</code></td><td>
-</td></tr>
-<tr><td><code>LTE</code></td><td><code>4</code></td><td>
-</td></tr>
-</table></div>
-<div class="definition"><h3 id="Enum_SharingType">Enumeration: SharingType</h3>
-<p>This is an internal enum type for managing sharings</p>
-
-<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>
-</td></tr>
-<tr><td><code>INDIRECT_CASCADING</code></td><td><code>2</code></td><td>
-</td></tr>
-</table></div>
-<hr/><h2 id="Structs">Data structures</h2>
-<div class="definition"><h3 id="Struct_Domain">Struct: Domain</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>domainId</td><td><code>string</code></td><td></td><td>optional</td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
-<tr><td>2</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<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/><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>
-<li><b>name</b> : A single word name that identifies the domain e.g seagrid, ultrascan</li>
-<li>description : A short description for the domain</li>
-<li>createdTime : Will be set by the system</li>
-<li>updatedTime : Will be set by the system</li>
-
-<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>
-<tr><td>3</td><td>userName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>4</td><td>firstName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>5</td><td>lastName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>6</td><td>email</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<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/><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> : Client provided user id. (The id is not system generated and it is a must to provide this id)</li>
-<li><b>domainId</b> : Domain id for that user</li>
-<li><b>userName</b> : User name for the user</li>
-<li><b>firstName</b> : First name of the user</li>
-<li><b>lastName</b> : Last name of the user</li>
-<li><b>email</b> : Email address of the user</li>
-<li>icon : A binary field for storing the user icon</li>
-<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>
-
-<br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: UserGroup</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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
-<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<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>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>6</td><td>groupType</td><td><code><a href="#Enum_GroupType">GroupType</a></code></td><td></td><td>optional</td><td></td></tr>
-<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/><p>User group is a collection of users.</p>
- <li>groupId : System generated grouo id. In the current implementation this is of the form domainId:name</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>
- <li>description : Short description for the group.</li>
- <li><b>ownerId</b> : Owner id of this group.</li>
- <li><b>groupType</b> : Group type (DOMAIN_LEVEL_GROUP, USER_LEVEL_GROUP)</li>
- <li><b>groupCardinality</b> : Group cardinality (SINGLE_USER, MULTI_USER)</li>
- <li>createdTime : Will be set by the system</li>
- <li>updatedTime : Will be set by the system</li>
- 
-<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>
-<tr><td>3</td><td>childType</td><td><code><a href="#Enum_GroupChildType">GroupChildType</a></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/><p>System internal data type to map group memberships</p>
-
-<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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
-<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<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/><p>client defined entity types</p>
-<li>entityTypeId : System generated entity type id. In the current implementation it will of the form domainId:name</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>
-<li>description : Short description for the entity type.</li>
-<li>createdTime : Will be set by the system</li>
-<li>updatedTime : Will be set by the system</li>
-
-<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/><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>
-
-<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>
-<tr><td>3</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>4</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>5</td><td>parentEntityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>6</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>7</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>8</td><td>metadata</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>9</td><td>fullText</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>10</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>11</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><p>Entity object which is used to register an entity in the system.</p>
-<li><b>entityId</b> : Client id provided by the client</li>
-<li><b>domainId</b> : Domain id</li>
-<li><b>entityTypeId</b> : Entity type id</li>
-<li><b>ownerId</b> : Owner id</li>
-<li>parentEntityId : Parent entity id</li>
-<li><b>name</b> : Name</li>
-<li>description : Short description for the entity</li>
-<li>metadata : Map of optional metadata</li>
-<li>fullText : A string which will be considered for full text search</li>
-<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>
-
-<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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
-<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<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/><p>Object for creating client defined permission type</p>
-<li>permissionTypeId : System generated permission type id. In the current implementation it will of the form domainId:name</li>
-<li><b>domainId</b> : Domain id</li>
-<li><b>name</b> : Single word name for the permission</li>
-<li>description : Short description for the permission type</li>
-<li>createdTime : Will be set by the system</li>
-<li>updatedTime : Will be set by the system</li>
-
-<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>
-<tr><td>3</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>4</td><td>sharingType</td><td><code><a href="#Enum_SharingType">SharingType</a></code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>5</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>6</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>7</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-</table><br/><p>This is an internal enum type for managing sharings</p>
-
-<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/><p>Exception model used in the sharing registry service</p>
-
-<br/></div></div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/api-docs/style.css
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/api-docs/style.css b/modules/sharing-registry/api-docs/style.css
deleted file mode 100644
index 34fd9d7..0000000
--- a/modules/sharing-registry/api-docs/style.css
+++ /dev/null
@@ -1,184 +0,0 @@
-/*!
- * Bootstrap v2.0.3
- *
- * Copyright 2012 Twitter, Inc
- * Licensed under the Apache License v2.0
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * 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;}
-.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
-.input-block-level{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}
-article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
-audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
-audio:not([controls]){display:none;}
-html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
-a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
-a:hover,a:active{outline:0;}
-sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
-sup{top:-0.5em;}
-sub{bottom:-0.25em;}
-img{max-width:100%;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
-button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
-button,input{*overflow:visible;line-height:normal;}
-button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
-button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}
-input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
-input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
-textarea{overflow:auto;vertical-align:top;}
-body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;color:#333333;background-color:#ffffff;}
-a{color:#0088cc;text-decoration:none;}
-a:hover{color:#005580;text-decoration:underline;}
-.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";}
-.row:after{clear:both;}
-[class*="span"]{float:left;margin-left:20px;}
-.container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
-.span12{width:940px;}
-.span11{width:860px;}
-.span10{width:780px;}
-.span9{width:700px;}
-.span8{width:620px;}
-.span7{width:540px;}
-.span6{width:460px;}
-.span5{width:380px;}
-.span4{width:300px;}
-.span3{width:220px;}
-.span2{width:140px;}
-.span1{width:60px;}
-.offset12{margin-left:980px;}
-.offset11{margin-left:900px;}
-.offset10{margin-left:820px;}
-.offset9{margin-left:740px;}
-.offset8{margin-left:660px;}
-.offset7{margin-left:580px;}
-.offset6{margin-left:500px;}
-.offset5{margin-left:420px;}
-.offset4{margin-left:340px;}
-.offset3{margin-left:260px;}
-.offset2{margin-left:180px;}
-.offset1{margin-left:100px;}
-.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";}
-.row-fluid:after{clear:both;}
-.row-fluid [class*="span"]{display:block;width:100%;min-height:28px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574%;*margin-left:2.0744680846382977%;}
-.row-fluid [class*="span"]:first-child{margin-left:0;}
-.row-fluid .span12{width:99.99999998999999%;*width:99.94680850063828%;}
-.row-fluid .span11{width:91.489361693%;*width:91.4361702036383%;}
-.row-fluid .span10{width:82.97872339599999%;*width:82.92553190663828%;}
-.row-fluid .span9{width:74.468085099%;*width:74.4148936096383%;}
-.row-fluid .span8{width:65.95744680199999%;*width:65.90425531263828%;}
-.row-fluid .span7{width:57.446808505%;*width:57.3936170156383%;}
-.row-fluid .span6{width:48.93617020799999%;*width:48.88297871863829%;}
-.row-fluid .span5{width:40.425531911%;*width:40.3723404216383%;}
-.row-fluid .span4{width:31.914893614%;*width:31.8617021246383%;}
-.row-fluid .span3{width:23.404255317%;*width:23.3510638276383%;}
-.row-fluid .span2{width:14.89361702%;*width:14.8404255306383%;}
-.row-fluid .span1{width:6.382978723%;*width:6.329787233638298%;}
-.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";}
-.container:after{clear:both;}
-.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";}
-.container-fluid:after{clear:both;}
-p{margin:0 0 9px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;line-height:18px;}p small{font-size:11px;color:#999999;}
-.lead{margin-bottom:18px;font-size:20px;font-weight:200;line-height:27px;}
-h1,h2,h3,h4,h5,h6{margin:0;font-family:inherit;font-weight:bold;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;color:#999999;}
-h1{font-size:30px;line-height:36px;}h1 small{font-size:18px;}
-h2{font-size:24px;line-height:36px;}h2 small{font-size:18px;}
-h3{font-size:18px;line-height:27px;}h3 small{font-size:14px;}
-h4,h5,h6{line-height:18px;}
-h4{font-size:14px;}h4 small{font-size:12px;}
-h5{font-size:12px;}
-h6{font-size:11px;color:#999999;text-transform:uppercase;}
-.page-header{padding-bottom:17px;margin:18px 0;border-bottom:1px solid #eeeeee;}
-.page-header h1{line-height:1;}
-ul,ol{padding:0;margin:0 0 9px 25px;}
-ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
-ul{list-style:disc;}
-ol{list-style:decimal;}
-li{line-height:18px;}
-ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
-dl{margin-bottom:18px;}
-dt,dd{line-height:18px;}
-dt{font-weight:bold;line-height:17px;}
-dd{margin-left:9px;}
-.dl-horizontal dt{float:left;width:120px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
-.dl-horizontal dd{margin-left:130px;}
-hr{margin:18px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
-strong{font-weight:bold;}
-em{font-style:italic;}
-.muted{color:#999999;}
-abbr[title]{cursor:help;border-bottom:1px dotted #ddd;}
-abbr.initialism{font-size:90%;text-transform:uppercase;}
-blockquote{padding:0 0 0 15px;margin:0 0 18px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:22.5px;}
-blockquote small{display:block;line-height:18px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
-blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
-q:before,q:after,blockquote:before,blockquote:after{content:"";}
-address{display:block;margin-bottom:18px;font-style:normal;line-height:18px;}
-small{font-size:100%;}
-cite{font-style:normal;}
-code,pre{padding:0 3px 2px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:12px;color:#333333;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-code{padding:2px 4px;color:#d14;background-color:#f7f7f9;border:1px solid #e1e1e8;}
-pre{display:block;padding:8.5px;margin:0 0 9px;font-size:12.025px;line-height:18px;word-break:break-all;word-wrap:break-word;white-space:pre;white-space:pre-wrap;background-color:#f5f5f5;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.15);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}pre.prettyprint{margin-bottom:18px;}
-pre code{padding:0;color:inherit;background-color:transparent;border:0;}
-.pre-scrollable{max-height:340px;overflow-y:scroll;}
-.label,.badge{font-size:10.998px;font-weight:bold;line-height:14px;color:#ffffff;vertical-align:baseline;white-space:nowrap;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25);background-color:#999999;}
-.label{padding:1px 4px 2px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;}
-.badge{padding:1px 9px 2px;-webkit-border-radius:9px;-moz-border-radius:9px;border-radius:9px;}
-a.label:hover,a.badge:hover{color:#ffffff;text-decoration:none;cursor:pointer;}
-.label-important,.badge-important{background-color:#b94a48;}
-.label-important[href],.badge-important[href]{background-color:#953b39;}
-.label-warning,.badge-warning{background-color:#f89406;}
-.label-warning[href],.badge-warning[href]{background-color:#c67605;}
-.label-success,.badge-success{background-color:#468847;}
-.label-success[href],.badge-success[href]{background-color:#356635;}
-.label-info,.badge-info{background-color:#3a87ad;}
-.label-info[href],.badge-info[href]{background-color:#2d6987;}
-.label-inverse,.badge-inverse{background-color:#333333;}
-.label-inverse[href],.badge-inverse[href]{background-color:#1a1a1a;}
-table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
-.table{width:100%;margin-bottom:18px;}.table th,.table td{padding:8px;line-height:18px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
-.table th{font-weight:bold;}
-.table thead th{vertical-align:bottom;}
-.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
-.table tbody+tbody{border-top:2px solid #dddddd;}
-.table-condensed th,.table-condensed td{padding:4px 5px;}
-.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapsed;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
-.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
-.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px;}
-.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px;}
-.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;}
-.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;}
-.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
-.table tbody tr:hover td,.table tbody tr:hover th{background-color:#f5f5f5;}
-table .span1{float:none;width:44px;margin-left:0;}
-table .span2{float:none;width:124px;margin-left:0;}
-table .span3{float:none;width:204px;margin-left:0;}
-table .span4{float:none;width:284px;margin-left:0;}
-table .span5{float:none;width:364px;margin-left:0;}
-table .span6{float:none;width:444px;margin-left:0;}
-table .span7{float:none;width:524px;margin-left:0;}
-table .span8{float:none;width:604px;margin-left:0;}
-table .span9{float:none;width:684px;margin-left:0;}
-table .span10{float:none;width:764px;margin-left:0;}
-table .span11{float:none;width:844px;margin-left:0;}
-table .span12{float:none;width:924px;margin-left:0;}
-table .span13{float:none;width:1004px;margin-left:0;}
-table .span14{float:none;width:1084px;margin-left:0;}
-table .span15{float:none;width:1164px;margin-left:0;}
-table .span16{float:none;width:1244px;margin-left:0;}
-table .span17{float:none;width:1324px;margin-left:0;}
-table .span18{float:none;width:1404px;margin-left:0;}
-table .span19{float:none;width:1484px;margin-left:0;}
-table .span20{float:none;width:1564px;margin-left:0;}
-table .span21{float:none;width:1644px;margin-left:0;}
-table .span22{float:none;width:1724px;margin-left:0;}
-table .span23{float:none;width:1804px;margin-left:0;}
-table .span24{float:none;width:1884px;margin-left:0;}
-/* Auto-generated CSS for generated Thrift docs */
-h3, h4 { margin-bottom: 6px; }
-div.definition { border: 1px solid #CCC; margin-bottom: 10px; padding: 10px; }
-div.extends { margin: -0.5em 0 1em 5em }
-td { vertical-align: top; }
-table { empty-cells: show; }
-code { line-height: 20px; }
-.table-bordered th, .table-bordered td { border-bottom: 1px solid #DDDDDD; }

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java
new file mode 100644
index 0000000..3357eb5
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServiceTest.java
@@ -0,0 +1,84 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry;
+
+import org.apache.airavata.sharing.registry.models.Domain;
+import org.apache.airavata.sharing.registry.models.User;
+import org.apache.airavata.sharing.registry.service.cpi.SharingRegistryService;
+import org.apache.thrift.TException;
+import org.apache.thrift.protocol.TBinaryProtocol;
+import org.apache.thrift.protocol.TProtocol;
+import org.apache.thrift.transport.TSocket;
+import org.apache.thrift.transport.TTransport;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class SharingRegistryServiceTest {
+    private final static Logger logger = LoggerFactory.getLogger(SharingRegistryServiceTest.class);
+
+
+    @Test
+    @Ignore("Test is only for demonstration purposes")
+    public void test() throws TException {
+        String serverHost = "gw56.iu.xsede.org";
+        int serverPort = 7878;
+
+        TTransport transport = new TSocket(serverHost, serverPort);
+        transport.open();
+        TProtocol protocol = new TBinaryProtocol(transport);
+        SharingRegistryService.Client sharingServiceClient = new SharingRegistryService.Client(protocol);
+
+        Domain domain = new Domain();
+        //has to be one word
+        domain.setName("test-domain"+System.currentTimeMillis());
+        //optional
+        domain.setDescription("test domain description");
+
+        String domainId = sharingServiceClient.createDomain(domain);
+
+        User user = new User();
+        String userName = "test-user";
+        String userId1 =  userName + "@" + domainId;
+        //required
+        user.setUserId(userId1);
+        //required
+        user.setUserName(userName);
+        //required
+        user.setDomainId(domainId);
+        //required
+        user.setFirstName("John");
+        //required
+        user.setLastName("Doe");
+        //required
+        user.setEmail("john.doe@abc.com");
+        //optional - this should be bytes of the users image icon
+        byte[] icon = new byte[10];
+        user.setIcon(icon);
+
+        //can be manually set. otherwise will be set to the current time by the system
+        user.setCreatedTime(System.currentTimeMillis());
+        user.setUpdatedTime(System.currentTimeMillis());
+
+        sharingServiceClient.registerUser(user);
+    }
+}
\ No newline at end of file


[5/9] airavata git commit: fixing id issues

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
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 25ab01a..106ff41 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
@@ -34,7 +34,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class SharingRegistryService {
 
   public interface Iface {
@@ -92,16 +92,18 @@ public class SharingRegistryService {
     /**
      * <p>API method to delete user</p>
      * 
+     * @param domainId
      * @param userId
      */
-    public boolean deleteUser(String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean deleteUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get a user</p>
      * 
+     * @param domainId
      * @param userId
      */
-    public org.apache.airavata.sharing.registry.models.User getUser(String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public org.apache.airavata.sharing.registry.models.User getUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get a list of users in a specific domain Users will be reverse sorted based on the created time.</p>
@@ -132,16 +134,18 @@ public class SharingRegistryService {
     /**
      * <p>API method to delete a group</p>
      * 
+     * @param domainId
      * @param groupId
      */
-    public boolean deleteGroup(String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean deleteGroup(String domainId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get a group</p>
      * 
+     * @param domainId
      * @param groupId
      */
-    public org.apache.airavata.sharing.registry.models.UserGroup getGroup(String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public org.apache.airavata.sharing.registry.models.UserGroup getGroup(String domainId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get groups in a domainId. Results are reverse sorted based on created time.</p>
@@ -155,52 +159,58 @@ public class SharingRegistryService {
     /**
      * <p>API method to add list of users to a group</p>
      * 
+     * @param domainId
      * @param userIds
      * @param groupId
      */
-    public boolean addUsersToGroup(List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean addUsersToGroup(String domainId, List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to remove users from a group</p>
      * 
+     * @param domainId
      * @param userIds
      * @param groupId
      */
-    public boolean removeUsersFromGroup(List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean removeUsersFromGroup(String domainId, List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get list of child users in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
      * 
+     * @param domainId
      * @param groupId
      * @param offset
      * @param limit
      */
-    public List<org.apache.airavata.sharing.registry.models.User> getGroupMembersOfTypeUser(String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public List<org.apache.airavata.sharing.registry.models.User> getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get list of child groups in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
      * 
+     * @param domainId
      * @param groupId
      * @param offset
      * @param limit
      */
-    public List<org.apache.airavata.sharing.registry.models.UserGroup> getGroupMembersOfTypeGroup(String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getGroupMembersOfTypeGroup(String domainId, String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to add a child group to a parent group.</p>
      * 
+     * @param domainId
      * @param childIds
      * @param groupId
      */
-    public boolean addChildGroupsToParentGroup(List<String> childIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean addChildGroupsToParentGroup(String domainId, List<String> childIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to remove a child group from parent group.</p>
      * 
+     * @param domainId
      * @param childId
      * @param groupId
      */
-    public boolean removeChildGroupFromParentGroup(String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to create a new entity type</p>
@@ -219,16 +229,18 @@ public class SharingRegistryService {
     /**
      * <p>API method to delete entity type</p>
      * 
+     * @param domainId
      * @param entityTypeId
      */
-    public boolean deleteEntityType(String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean deleteEntityType(String domainId, String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get an entity type</p>
      * 
+     * @param domainId
      * @param entityTypeId
      */
-    public org.apache.airavata.sharing.registry.models.EntityType getEntityType(String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public org.apache.airavata.sharing.registry.models.EntityType getEntityType(String domainId, String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get entity types in a domainId. Results are reverse time sorted based on creation time</p>
@@ -256,43 +268,48 @@ public class SharingRegistryService {
     /**
      * <p>API method to delete entity</p>
      * 
+     * @param domainId
      * @param entityId
      */
-    public boolean deleteEntity(String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean deleteEntity(String domainId, String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get entity</p>
      * 
+     * @param domainId
      * @param entityId
      */
-    public org.apache.airavata.sharing.registry.models.Entity getEntity(String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public org.apache.airavata.sharing.registry.models.Entity getEntity(String domainId, String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to search entities</p>
      * 
+     * @param domainId
      * @param userId
      * @param entityTypeId
      * @param filters
      * @param offset
      * @param limit
      */
-    public List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(String domainId, String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get a list of shared users given the entity id</p>
      * 
+     * @param domainId
      * @param entityId
      * @param permissionTypeId
      */
-    public List<org.apache.airavata.sharing.registry.models.User> getListOfSharedUsers(String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public List<org.apache.airavata.sharing.registry.models.User> getListOfSharedUsers(String domainId, String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get a list of shared groups given the entity id</p>
      * 
+     * @param domainId
      * @param entityId
      * @param permissionTypeId
      */
-    public List<org.apache.airavata.sharing.registry.models.UserGroup> getListOfSharedGroups(String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getListOfSharedGroups(String domainId, String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to create permission type</p>
@@ -311,16 +328,18 @@ public class SharingRegistryService {
     /**
      * <p>API method to delete permission type</p>
      * 
-     * @param entityTypeId
+     * @param domainId
+     * @param permissionTypeId
      */
-    public boolean deletePermissionType(String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean deletePermissionType(String domainId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get permission type</p>
      * 
+     * @param domainId
      * @param permissionTypeId
      */
-    public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType(String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType(String domainId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to get list of permission types in a given domainId. Results are reverse time sorted based on creation time</p>
@@ -401,9 +420,9 @@ public class SharingRegistryService {
 
     public void updatedUser(org.apache.airavata.sharing.registry.models.User user, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteUser(String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getUser(String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getUsers(String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -411,31 +430,31 @@ public class SharingRegistryService {
 
     public void updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteGroup(String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteGroup(String domainId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getGroup(String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getGroup(String domainId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getGroups(String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addUsersToGroup(List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addUsersToGroup(String domainId, List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void removeUsersFromGroup(List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void removeUsersFromGroup(String domainId, List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getGroupMembersOfTypeUser(String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getGroupMembersOfTypeGroup(String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getGroupMembersOfTypeGroup(String domainId, String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void addChildGroupsToParentGroup(List<String> childIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void addChildGroupsToParentGroup(String domainId, List<String> childIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void removeChildGroupFromParentGroup(String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void removeChildGroupFromParentGroup(String domainId, String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updateEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteEntityType(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteEntityType(String domainId, String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getEntityType(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getEntityType(String domainId, String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getEntityTypes(String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -443,23 +462,23 @@ public class SharingRegistryService {
 
     public void updateEntity(org.apache.airavata.sharing.registry.models.Entity entity, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deleteEntity(String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deleteEntity(String domainId, String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getEntity(String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getEntity(String domainId, String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void searchEntities(String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void searchEntities(String domainId, String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getListOfSharedUsers(String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getListOfSharedUsers(String domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getListOfSharedGroups(String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getListOfSharedGroups(String domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void deletePermissionType(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void deletePermissionType(String domainId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void getPermissionType(String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void getPermissionType(String domainId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void getPermissionTypes(String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -678,15 +697,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updatedUser failed: unknown result");
     }
 
-    public boolean deleteUser(String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean deleteUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_deleteUser(userId);
+      send_deleteUser(domainId, userId);
       return recv_deleteUser();
     }
 
-    public void send_deleteUser(String userId) throws org.apache.thrift.TException
+    public void send_deleteUser(String domainId, String userId) throws org.apache.thrift.TException
     {
       deleteUser_args args = new deleteUser_args();
+      args.setDomainId(domainId);
       args.setUserId(userId);
       sendBase("deleteUser", args);
     }
@@ -704,15 +724,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUser failed: unknown result");
     }
 
-    public org.apache.airavata.sharing.registry.models.User getUser(String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public org.apache.airavata.sharing.registry.models.User getUser(String domainId, String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getUser(userId);
+      send_getUser(domainId, userId);
       return recv_getUser();
     }
 
-    public void send_getUser(String userId) throws org.apache.thrift.TException
+    public void send_getUser(String domainId, String userId) throws org.apache.thrift.TException
     {
       getUser_args args = new getUser_args();
+      args.setDomainId(domainId);
       args.setUserId(userId);
       sendBase("getUser", args);
     }
@@ -810,15 +831,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGroup failed: unknown result");
     }
 
-    public boolean deleteGroup(String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean deleteGroup(String domainId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_deleteGroup(groupId);
+      send_deleteGroup(domainId, groupId);
       return recv_deleteGroup();
     }
 
-    public void send_deleteGroup(String groupId) throws org.apache.thrift.TException
+    public void send_deleteGroup(String domainId, String groupId) throws org.apache.thrift.TException
     {
       deleteGroup_args args = new deleteGroup_args();
+      args.setDomainId(domainId);
       args.setGroupId(groupId);
       sendBase("deleteGroup", args);
     }
@@ -836,15 +858,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGroup failed: unknown result");
     }
 
-    public org.apache.airavata.sharing.registry.models.UserGroup getGroup(String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public org.apache.airavata.sharing.registry.models.UserGroup getGroup(String domainId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getGroup(groupId);
+      send_getGroup(domainId, groupId);
       return recv_getGroup();
     }
 
-    public void send_getGroup(String groupId) throws org.apache.thrift.TException
+    public void send_getGroup(String domainId, String groupId) throws org.apache.thrift.TException
     {
       getGroup_args args = new getGroup_args();
+      args.setDomainId(domainId);
       args.setGroupId(groupId);
       sendBase("getGroup", args);
     }
@@ -887,15 +910,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroups failed: unknown result");
     }
 
-    public boolean addUsersToGroup(List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean addUsersToGroup(String domainId, List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_addUsersToGroup(userIds, groupId);
+      send_addUsersToGroup(domainId, userIds, groupId);
       return recv_addUsersToGroup();
     }
 
-    public void send_addUsersToGroup(List<String> userIds, String groupId) throws org.apache.thrift.TException
+    public void send_addUsersToGroup(String domainId, List<String> userIds, String groupId) throws org.apache.thrift.TException
     {
       addUsersToGroup_args args = new addUsersToGroup_args();
+      args.setDomainId(domainId);
       args.setUserIds(userIds);
       args.setGroupId(groupId);
       sendBase("addUsersToGroup", args);
@@ -914,15 +938,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUsersToGroup failed: unknown result");
     }
 
-    public boolean removeUsersFromGroup(List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean removeUsersFromGroup(String domainId, List<String> userIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_removeUsersFromGroup(userIds, groupId);
+      send_removeUsersFromGroup(domainId, userIds, groupId);
       return recv_removeUsersFromGroup();
     }
 
-    public void send_removeUsersFromGroup(List<String> userIds, String groupId) throws org.apache.thrift.TException
+    public void send_removeUsersFromGroup(String domainId, List<String> userIds, String groupId) throws org.apache.thrift.TException
     {
       removeUsersFromGroup_args args = new removeUsersFromGroup_args();
+      args.setDomainId(domainId);
       args.setUserIds(userIds);
       args.setGroupId(groupId);
       sendBase("removeUsersFromGroup", args);
@@ -941,15 +966,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeUsersFromGroup failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.User> getGroupMembersOfTypeUser(String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.User> getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getGroupMembersOfTypeUser(groupId, offset, limit);
+      send_getGroupMembersOfTypeUser(domainId, groupId, offset, limit);
       return recv_getGroupMembersOfTypeUser();
     }
 
-    public void send_getGroupMembersOfTypeUser(String groupId, int offset, int limit) throws org.apache.thrift.TException
+    public void send_getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit) throws org.apache.thrift.TException
     {
       getGroupMembersOfTypeUser_args args = new getGroupMembersOfTypeUser_args();
+      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setOffset(offset);
       args.setLimit(limit);
@@ -969,15 +995,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupMembersOfTypeUser failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.UserGroup> getGroupMembersOfTypeGroup(String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getGroupMembersOfTypeGroup(String domainId, String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getGroupMembersOfTypeGroup(groupId, offset, limit);
+      send_getGroupMembersOfTypeGroup(domainId, groupId, offset, limit);
       return recv_getGroupMembersOfTypeGroup();
     }
 
-    public void send_getGroupMembersOfTypeGroup(String groupId, int offset, int limit) throws org.apache.thrift.TException
+    public void send_getGroupMembersOfTypeGroup(String domainId, String groupId, int offset, int limit) throws org.apache.thrift.TException
     {
       getGroupMembersOfTypeGroup_args args = new getGroupMembersOfTypeGroup_args();
+      args.setDomainId(domainId);
       args.setGroupId(groupId);
       args.setOffset(offset);
       args.setLimit(limit);
@@ -997,15 +1024,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupMembersOfTypeGroup failed: unknown result");
     }
 
-    public boolean addChildGroupsToParentGroup(List<String> childIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean addChildGroupsToParentGroup(String domainId, List<String> childIds, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_addChildGroupsToParentGroup(childIds, groupId);
+      send_addChildGroupsToParentGroup(domainId, childIds, groupId);
       return recv_addChildGroupsToParentGroup();
     }
 
-    public void send_addChildGroupsToParentGroup(List<String> childIds, String groupId) throws org.apache.thrift.TException
+    public void send_addChildGroupsToParentGroup(String domainId, List<String> childIds, String groupId) throws org.apache.thrift.TException
     {
       addChildGroupsToParentGroup_args args = new addChildGroupsToParentGroup_args();
+      args.setDomainId(domainId);
       args.setChildIds(childIds);
       args.setGroupId(groupId);
       sendBase("addChildGroupsToParentGroup", args);
@@ -1024,15 +1052,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addChildGroupsToParentGroup failed: unknown result");
     }
 
-    public boolean removeChildGroupFromParentGroup(String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_removeChildGroupFromParentGroup(childId, groupId);
+      send_removeChildGroupFromParentGroup(domainId, childId, groupId);
       return recv_removeChildGroupFromParentGroup();
     }
 
-    public void send_removeChildGroupFromParentGroup(String childId, String groupId) throws org.apache.thrift.TException
+    public void send_removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws org.apache.thrift.TException
     {
       removeChildGroupFromParentGroup_args args = new removeChildGroupFromParentGroup_args();
+      args.setDomainId(domainId);
       args.setChildId(childId);
       args.setGroupId(groupId);
       sendBase("removeChildGroupFromParentGroup", args);
@@ -1103,15 +1132,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateEntityType failed: unknown result");
     }
 
-    public boolean deleteEntityType(String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean deleteEntityType(String domainId, String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_deleteEntityType(entityTypeId);
+      send_deleteEntityType(domainId, entityTypeId);
       return recv_deleteEntityType();
     }
 
-    public void send_deleteEntityType(String entityTypeId) throws org.apache.thrift.TException
+    public void send_deleteEntityType(String domainId, String entityTypeId) throws org.apache.thrift.TException
     {
       deleteEntityType_args args = new deleteEntityType_args();
+      args.setDomainId(domainId);
       args.setEntityTypeId(entityTypeId);
       sendBase("deleteEntityType", args);
     }
@@ -1129,15 +1159,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteEntityType failed: unknown result");
     }
 
-    public org.apache.airavata.sharing.registry.models.EntityType getEntityType(String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public org.apache.airavata.sharing.registry.models.EntityType getEntityType(String domainId, String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getEntityType(entityTypeId);
+      send_getEntityType(domainId, entityTypeId);
       return recv_getEntityType();
     }
 
-    public void send_getEntityType(String entityTypeId) throws org.apache.thrift.TException
+    public void send_getEntityType(String domainId, String entityTypeId) throws org.apache.thrift.TException
     {
       getEntityType_args args = new getEntityType_args();
+      args.setDomainId(domainId);
       args.setEntityTypeId(entityTypeId);
       sendBase("getEntityType", args);
     }
@@ -1235,15 +1266,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateEntity failed: unknown result");
     }
 
-    public boolean deleteEntity(String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean deleteEntity(String domainId, String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_deleteEntity(entityId);
+      send_deleteEntity(domainId, entityId);
       return recv_deleteEntity();
     }
 
-    public void send_deleteEntity(String entityId) throws org.apache.thrift.TException
+    public void send_deleteEntity(String domainId, String entityId) throws org.apache.thrift.TException
     {
       deleteEntity_args args = new deleteEntity_args();
+      args.setDomainId(domainId);
       args.setEntityId(entityId);
       sendBase("deleteEntity", args);
     }
@@ -1261,15 +1293,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteEntity failed: unknown result");
     }
 
-    public org.apache.airavata.sharing.registry.models.Entity getEntity(String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public org.apache.airavata.sharing.registry.models.Entity getEntity(String domainId, String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getEntity(entityId);
+      send_getEntity(domainId, entityId);
       return recv_getEntity();
     }
 
-    public void send_getEntity(String entityId) throws org.apache.thrift.TException
+    public void send_getEntity(String domainId, String entityId) throws org.apache.thrift.TException
     {
       getEntity_args args = new getEntity_args();
+      args.setDomainId(domainId);
       args.setEntityId(entityId);
       sendBase("getEntity", args);
     }
@@ -1287,15 +1320,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEntity failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(String domainId, String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_searchEntities(userId, entityTypeId, filters, offset, limit);
+      send_searchEntities(domainId, userId, entityTypeId, filters, offset, limit);
       return recv_searchEntities();
     }
 
-    public void send_searchEntities(String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.thrift.TException
+    public void send_searchEntities(String domainId, String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.thrift.TException
     {
       searchEntities_args args = new searchEntities_args();
+      args.setDomainId(domainId);
       args.setUserId(userId);
       args.setEntityTypeId(entityTypeId);
       args.setFilters(filters);
@@ -1317,15 +1351,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchEntities failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.User> getListOfSharedUsers(String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.User> getListOfSharedUsers(String domainId, String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getListOfSharedUsers(entityId, permissionTypeId);
+      send_getListOfSharedUsers(domainId, entityId, permissionTypeId);
       return recv_getListOfSharedUsers();
     }
 
-    public void send_getListOfSharedUsers(String entityId, String permissionTypeId) throws org.apache.thrift.TException
+    public void send_getListOfSharedUsers(String domainId, String entityId, String permissionTypeId) throws org.apache.thrift.TException
     {
       getListOfSharedUsers_args args = new getListOfSharedUsers_args();
+      args.setDomainId(domainId);
       args.setEntityId(entityId);
       args.setPermissionTypeId(permissionTypeId);
       sendBase("getListOfSharedUsers", args);
@@ -1344,15 +1379,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfSharedUsers failed: unknown result");
     }
 
-    public List<org.apache.airavata.sharing.registry.models.UserGroup> getListOfSharedGroups(String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public List<org.apache.airavata.sharing.registry.models.UserGroup> getListOfSharedGroups(String domainId, String entityId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getListOfSharedGroups(entityId, permissionTypeId);
+      send_getListOfSharedGroups(domainId, entityId, permissionTypeId);
       return recv_getListOfSharedGroups();
     }
 
-    public void send_getListOfSharedGroups(String entityId, String permissionTypeId) throws org.apache.thrift.TException
+    public void send_getListOfSharedGroups(String domainId, String entityId, String permissionTypeId) throws org.apache.thrift.TException
     {
       getListOfSharedGroups_args args = new getListOfSharedGroups_args();
+      args.setDomainId(domainId);
       args.setEntityId(entityId);
       args.setPermissionTypeId(permissionTypeId);
       sendBase("getListOfSharedGroups", args);
@@ -1423,16 +1459,17 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updatePermissionType failed: unknown result");
     }
 
-    public boolean deletePermissionType(String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean deletePermissionType(String domainId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_deletePermissionType(entityTypeId);
+      send_deletePermissionType(domainId, permissionTypeId);
       return recv_deletePermissionType();
     }
 
-    public void send_deletePermissionType(String entityTypeId) throws org.apache.thrift.TException
+    public void send_deletePermissionType(String domainId, String permissionTypeId) throws org.apache.thrift.TException
     {
       deletePermissionType_args args = new deletePermissionType_args();
-      args.setEntityTypeId(entityTypeId);
+      args.setDomainId(domainId);
+      args.setPermissionTypeId(permissionTypeId);
       sendBase("deletePermissionType", args);
     }
 
@@ -1449,15 +1486,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deletePermissionType failed: unknown result");
     }
 
-    public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType(String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType(String domainId, String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_getPermissionType(permissionTypeId);
+      send_getPermissionType(domainId, permissionTypeId);
       return recv_getPermissionType();
     }
 
-    public void send_getPermissionType(String permissionTypeId) throws org.apache.thrift.TException
+    public void send_getPermissionType(String domainId, String permissionTypeId) throws org.apache.thrift.TException
     {
       getPermissionType_args args = new getPermissionType_args();
+      args.setDomainId(domainId);
       args.setPermissionTypeId(permissionTypeId);
       sendBase("getPermissionType", args);
     }
@@ -1895,23 +1933,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void deleteUser(String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteUser_call method_call = new deleteUser_call(userId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteUser_call method_call = new deleteUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteUser_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String userId;
-      public deleteUser_call(String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteUser_call(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.userId = userId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUser_args args = new deleteUser_args();
+        args.setDomainId(domainId);
         args.setUserId(userId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -1927,23 +1968,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void getUser(String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getUser(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getUser_call method_call = new getUser_call(userId, resultHandler, this, ___protocolFactory, ___transport);
+      getUser_call method_call = new getUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getUser_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String userId;
-      public getUser_call(String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getUser_call(String domainId, String userId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.userId = userId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUser_args args = new getUser_args();
+        args.setDomainId(domainId);
         args.setUserId(userId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2061,23 +2105,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void deleteGroup(String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteGroup(String domainId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteGroup_call method_call = new deleteGroup_call(groupId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteGroup_call method_call = new deleteGroup_call(domainId, groupId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String groupId;
-      public deleteGroup_call(String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteGroup_call(String domainId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.groupId = groupId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGroup_args args = new deleteGroup_args();
+        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2093,23 +2140,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void getGroup(String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getGroup(String domainId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getGroup_call method_call = new getGroup_call(groupId, resultHandler, this, ___protocolFactory, ___transport);
+      getGroup_call method_call = new getGroup_call(domainId, groupId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String groupId;
-      public getGroup_call(String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getGroup_call(String domainId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.groupId = groupId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroup_args args = new getGroup_args();
+        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2163,18 +2213,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void addUsersToGroup(List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addUsersToGroup(String domainId, List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addUsersToGroup_call method_call = new addUsersToGroup_call(userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
+      addUsersToGroup_call method_call = new addUsersToGroup_call(domainId, userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addUsersToGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private List<String> userIds;
       private String groupId;
-      public addUsersToGroup_call(List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public addUsersToGroup_call(String domainId, List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.userIds = userIds;
         this.groupId = groupId;
       }
@@ -2182,6 +2234,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUsersToGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUsersToGroup_args args = new addUsersToGroup_args();
+        args.setDomainId(domainId);
         args.setUserIds(userIds);
         args.setGroupId(groupId);
         args.write(prot);
@@ -2198,18 +2251,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void removeUsersFromGroup(List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void removeUsersFromGroup(String domainId, List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      removeUsersFromGroup_call method_call = new removeUsersFromGroup_call(userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
+      removeUsersFromGroup_call method_call = new removeUsersFromGroup_call(domainId, userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class removeUsersFromGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private List<String> userIds;
       private String groupId;
-      public removeUsersFromGroup_call(List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public removeUsersFromGroup_call(String domainId, List<String> userIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.userIds = userIds;
         this.groupId = groupId;
       }
@@ -2217,6 +2272,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeUsersFromGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeUsersFromGroup_args args = new removeUsersFromGroup_args();
+        args.setDomainId(domainId);
         args.setUserIds(userIds);
         args.setGroupId(groupId);
         args.write(prot);
@@ -2233,19 +2289,21 @@ public class SharingRegistryService {
       }
     }
 
-    public void getGroupMembersOfTypeUser(String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getGroupMembersOfTypeUser_call method_call = new getGroupMembersOfTypeUser_call(groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
+      getGroupMembersOfTypeUser_call method_call = new getGroupMembersOfTypeUser_call(domainId, groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getGroupMembersOfTypeUser_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String groupId;
       private int offset;
       private int limit;
-      public getGroupMembersOfTypeUser_call(String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getGroupMembersOfTypeUser_call(String domainId, String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.groupId = groupId;
         this.offset = offset;
         this.limit = limit;
@@ -2254,6 +2312,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupMembersOfTypeUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupMembersOfTypeUser_args args = new getGroupMembersOfTypeUser_args();
+        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setOffset(offset);
         args.setLimit(limit);
@@ -2271,19 +2330,21 @@ public class SharingRegistryService {
       }
     }
 
-    public void getGroupMembersOfTypeGroup(String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getGroupMembersOfTypeGroup(String domainId, String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getGroupMembersOfTypeGroup_call method_call = new getGroupMembersOfTypeGroup_call(groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
+      getGroupMembersOfTypeGroup_call method_call = new getGroupMembersOfTypeGroup_call(domainId, groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getGroupMembersOfTypeGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String groupId;
       private int offset;
       private int limit;
-      public getGroupMembersOfTypeGroup_call(String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getGroupMembersOfTypeGroup_call(String domainId, String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.groupId = groupId;
         this.offset = offset;
         this.limit = limit;
@@ -2292,6 +2353,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupMembersOfTypeGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupMembersOfTypeGroup_args args = new getGroupMembersOfTypeGroup_args();
+        args.setDomainId(domainId);
         args.setGroupId(groupId);
         args.setOffset(offset);
         args.setLimit(limit);
@@ -2309,18 +2371,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void addChildGroupsToParentGroup(List<String> childIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void addChildGroupsToParentGroup(String domainId, List<String> childIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      addChildGroupsToParentGroup_call method_call = new addChildGroupsToParentGroup_call(childIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
+      addChildGroupsToParentGroup_call method_call = new addChildGroupsToParentGroup_call(domainId, childIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class addChildGroupsToParentGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private List<String> childIds;
       private String groupId;
-      public addChildGroupsToParentGroup_call(List<String> childIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public addChildGroupsToParentGroup_call(String domainId, List<String> childIds, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.childIds = childIds;
         this.groupId = groupId;
       }
@@ -2328,6 +2392,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addChildGroupsToParentGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addChildGroupsToParentGroup_args args = new addChildGroupsToParentGroup_args();
+        args.setDomainId(domainId);
         args.setChildIds(childIds);
         args.setGroupId(groupId);
         args.write(prot);
@@ -2344,18 +2409,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void removeChildGroupFromParentGroup(String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void removeChildGroupFromParentGroup(String domainId, String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      removeChildGroupFromParentGroup_call method_call = new removeChildGroupFromParentGroup_call(childId, groupId, resultHandler, this, ___protocolFactory, ___transport);
+      removeChildGroupFromParentGroup_call method_call = new removeChildGroupFromParentGroup_call(domainId, childId, groupId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class removeChildGroupFromParentGroup_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String childId;
       private String groupId;
-      public removeChildGroupFromParentGroup_call(String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public removeChildGroupFromParentGroup_call(String domainId, String childId, String groupId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.childId = childId;
         this.groupId = groupId;
       }
@@ -2363,6 +2430,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeChildGroupFromParentGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeChildGroupFromParentGroup_args args = new removeChildGroupFromParentGroup_args();
+        args.setDomainId(domainId);
         args.setChildId(childId);
         args.setGroupId(groupId);
         args.write(prot);
@@ -2443,23 +2511,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void deleteEntityType(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteEntityType(String domainId, String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteEntityType_call method_call = new deleteEntityType_call(entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteEntityType_call method_call = new deleteEntityType_call(domainId, entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteEntityType_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String entityTypeId;
-      public deleteEntityType_call(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteEntityType_call(String domainId, String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.entityTypeId = entityTypeId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteEntityType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteEntityType_args args = new deleteEntityType_args();
+        args.setDomainId(domainId);
         args.setEntityTypeId(entityTypeId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2475,23 +2546,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void getEntityType(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getEntityType(String domainId, String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getEntityType_call method_call = new getEntityType_call(entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
+      getEntityType_call method_call = new getEntityType_call(domainId, entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getEntityType_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String entityTypeId;
-      public getEntityType_call(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getEntityType_call(String domainId, String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.entityTypeId = entityTypeId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEntityType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getEntityType_args args = new getEntityType_args();
+        args.setDomainId(domainId);
         args.setEntityTypeId(entityTypeId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2609,23 +2683,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void deleteEntity(String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deleteEntity(String domainId, String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deleteEntity_call method_call = new deleteEntity_call(entityId, resultHandler, this, ___protocolFactory, ___transport);
+      deleteEntity_call method_call = new deleteEntity_call(domainId, entityId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deleteEntity_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String entityId;
-      public deleteEntity_call(String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public deleteEntity_call(String domainId, String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.entityId = entityId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteEntity_args args = new deleteEntity_args();
+        args.setDomainId(domainId);
         args.setEntityId(entityId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2641,23 +2718,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void getEntity(String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getEntity(String domainId, String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getEntity_call method_call = new getEntity_call(entityId, resultHandler, this, ___protocolFactory, ___transport);
+      getEntity_call method_call = new getEntity_call(domainId, entityId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getEntity_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String entityId;
-      public getEntity_call(String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getEntity_call(String domainId, String entityId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.entityId = entityId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getEntity_args args = new getEntity_args();
+        args.setDomainId(domainId);
         args.setEntityId(entityId);
         args.write(prot);
         prot.writeMessageEnd();
@@ -2673,21 +2753,23 @@ public class SharingRegistryService {
       }
     }
 
-    public void searchEntities(String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void searchEntities(String domainId, String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchEntities_call method_call = new searchEntities_call(userId, entityTypeId, filters, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
+      searchEntities_call method_call = new searchEntities_call(domainId, userId, entityTypeId, filters, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class searchEntities_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String userId;
       private String entityTypeId;
       private List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters;
       private int offset;
       private int limit;
-      public searchEntities_call(String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public searchEntities_call(String domainId, String userId, String entityTypeId, List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.userId = userId;
         this.entityTypeId = entityTypeId;
         this.filters = filters;
@@ -2698,6 +2780,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchEntities", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchEntities_args args = new searchEntities_args();
+        args.setDomainId(domainId);
         args.setUserId(userId);
         args.setEntityTypeId(entityTypeId);
         args.setFilters(filters);
@@ -2717,18 +2800,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void getListOfSharedUsers(String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getListOfSharedUsers(String domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getListOfSharedUsers_call method_call = new getListOfSharedUsers_call(entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
+      getListOfSharedUsers_call method_call = new getListOfSharedUsers_call(domainId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getListOfSharedUsers_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String entityId;
       private String permissionTypeId;
-      public getListOfSharedUsers_call(String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getListOfSharedUsers_call(String domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.entityId = entityId;
         this.permissionTypeId = permissionTypeId;
       }
@@ -2736,6 +2821,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getListOfSharedUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getListOfSharedUsers_args args = new getListOfSharedUsers_args();
+        args.setDomainId(domainId);
         args.setEntityId(entityId);
         args.setPermissionTypeId(permissionTypeId);
         args.write(prot);
@@ -2752,18 +2838,20 @@ public class SharingRegistryService {
       }
     }
 
-    public void getListOfSharedGroups(String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getListOfSharedGroups(String domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      getListOfSharedGroups_call method_call = new getListOfSharedGroups_call(entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
+      getListOfSharedGroups_call method_call = new getListOfSharedGroups_call(domainId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class getListOfSharedGroups_call extends org.apache.thrift.async.TAsyncMethodCall {
+      private String domainId;
       private String entityId;
       private String permissionTypeId;
-      public getListOfSharedGroups_call(String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      public getListOfSharedGroups_call(String domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
+        this.domainId = domainId;
         this.entityId = entityId;
         this.permissionTypeId = permissionTypeId;
       }
@@ -2771,6 +2859,7 @@ public class SharingRegistryService {
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getListOfSharedGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getListOfSharedGroups_args args = new getListOfSharedGroups_args();
+        args.setDomainId(domainId);
         args.setEntityId(entityId);
         args.setPermissionTypeId(permissionTypeId);
         args.write(prot);
@@ -2851,24 +2940,27 @@ public class SharingRegistryService {
       }
     }
 
-    public void deletePermissionType(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void deletePermissionType(String domainId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      deletePermissionType_call method_call = new deletePermissionType_call(entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
+      deletePermissionType_call method_call = new deletePermissionType_call(domainId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class deletePermissionType_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private String entityTypeId;
-      public deletePermissionType_call(String entityTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private String domainId;
+      private String permissionTypeId;
+      public deletePermissionType_call(String domainId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
-        this.entityTypeId = entityTypeId;
+        this.domainId = domainId;
+        this.permissionTypeId = permissionTypeId;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deletePermissionType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deletePermissionType_args args = new deletePermissionType_args();
-        args.setEntityTypeId(entityTypeId);
+        args.setDomainId(domainId);
+        args.setPermissionTypeId(permissionTypeId);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -2883,23 +2975,26 @@ public class SharingRegistryService {
       }
     }
 
-    public void getPermissionType(String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void getPermissionType(String domainId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) 

<TRUNCATED>

[2/9] airavata git commit: adding initial how to use documents

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
----------------------------------------------------------------------
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 7605f82..25ab01a 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
@@ -42,16 +42,16 @@ public class SharingRegistryService {
     /**
      * <p>API method to create a new domain</p>
      * 
-     * @param domainId
+     * @param domain
      */
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to update a domain</p>
      * 
-     * @param domainId
+     * @param domain
      */
-    public boolean updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
+    public boolean updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException;
 
     /**
      * <p>API method to delete domain</p>
@@ -387,9 +387,9 @@ public class SharingRegistryService {
 
   public interface AsyncIface {
 
-    public void createDomain(org.apache.airavata.sharing.registry.models.Domain domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void createDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
-    public void updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
+    public void updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
     public void deleteDomain(String domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
 
@@ -495,16 +495,16 @@ public class SharingRegistryService {
       super(iprot, oprot);
     }
 
-    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_createDomain(domainId);
+      send_createDomain(domain);
       return recv_createDomain();
     }
 
-    public void send_createDomain(org.apache.airavata.sharing.registry.models.Domain domainId) throws org.apache.thrift.TException
+    public void send_createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.thrift.TException
     {
       createDomain_args args = new createDomain_args();
-      args.setDomainId(domainId);
+      args.setDomain(domain);
       sendBase("createDomain", args);
     }
 
@@ -521,16 +521,16 @@ public class SharingRegistryService {
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createDomain failed: unknown result");
     }
 
-    public boolean updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
+    public boolean updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
-      send_updateDomain(domainId);
+      send_updateDomain(domain);
       return recv_updateDomain();
     }
 
-    public void send_updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId) throws org.apache.thrift.TException
+    public void send_updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.thrift.TException
     {
       updateDomain_args args = new updateDomain_args();
-      args.setDomainId(domainId);
+      args.setDomain(domain);
       sendBase("updateDomain", args);
     }
 
@@ -1668,24 +1668,24 @@ public class SharingRegistryService {
       super(protocolFactory, clientManager, transport);
     }
 
-    public void createDomain(org.apache.airavata.sharing.registry.models.Domain domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void createDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      createDomain_call method_call = new createDomain_call(domainId, resultHandler, this, ___protocolFactory, ___transport);
+      createDomain_call method_call = new createDomain_call(domain, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class createDomain_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.sharing.registry.models.Domain domainId;
-      public createDomain_call(org.apache.airavata.sharing.registry.models.Domain domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.sharing.registry.models.Domain domain;
+      public createDomain_call(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
+        this.domain = domain;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createDomain", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createDomain_args args = new createDomain_args();
-        args.setDomainId(domainId);
+        args.setDomain(domain);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -1700,24 +1700,24 @@ public class SharingRegistryService {
       }
     }
 
-    public void updateDomain(org.apache.airavata.sharing.registry.models.Domain domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
+    public void updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      updateDomain_call method_call = new updateDomain_call(domainId, resultHandler, this, ___protocolFactory, ___transport);
+      updateDomain_call method_call = new updateDomain_call(domain, resultHandler, this, ___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
     public static class updateDomain_call extends org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.sharing.registry.models.Domain domainId;
-      public updateDomain_call(org.apache.airavata.sharing.registry.models.Domain domainId, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
+      private org.apache.airavata.sharing.registry.models.Domain domain;
+      public updateDomain_call(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback resultHandler, org.apache.thrift.async.TAsyncClient client, org.apache.thrift.protocol.TProtocolFactory protocolFactory, org.apache.thrift.transport.TNonblockingTransport transport) throws org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
-        this.domainId = domainId;
+        this.domain = domain;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateDomain", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateDomain_args args = new updateDomain_args();
-        args.setDomainId(domainId);
+        args.setDomain(domain);
         args.write(prot);
         prot.writeMessageEnd();
       }
@@ -3239,7 +3239,7 @@ public class SharingRegistryService {
       public createDomain_result getResult(I iface, createDomain_args args) throws org.apache.thrift.TException {
         createDomain_result result = new createDomain_result();
         try {
-          result.success = iface.createDomain(args.domainId);
+          result.success = iface.createDomain(args.domain);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
         }
@@ -3263,7 +3263,7 @@ public class SharingRegistryService {
       public updateDomain_result getResult(I iface, updateDomain_args args) throws org.apache.thrift.TException {
         updateDomain_result result = new updateDomain_result();
         try {
-          result.success = iface.updateDomain(args.domainId);
+          result.success = iface.updateDomain(args.domain);
           result.setSuccessIsSet(true);
         } catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
           result.sre = sre;
@@ -4384,7 +4384,7 @@ public class SharingRegistryService {
       }
 
       public void start(I iface, createDomain_args args, org.apache.thrift.async.AsyncMethodCallback<String> resultHandler) throws TException {
-        iface.createDomain(args.domainId,resultHandler);
+        iface.createDomain(args.domain,resultHandler);
       }
     }
 
@@ -4442,7 +4442,7 @@ public class SharingRegistryService {
       }
 
       public void start(I iface, updateDomain_args args, org.apache.thrift.async.AsyncMethodCallback<Boolean> resultHandler) throws TException {
-        iface.updateDomain(args.domainId,resultHandler);
+        iface.updateDomain(args.domain,resultHandler);
       }
     }
 
@@ -6802,7 +6802,7 @@ public class SharingRegistryService {
   public static class createDomain_args implements org.apache.thrift.TBase<createDomain_args, createDomain_args._Fields>, java.io.Serializable, Cloneable, Comparable<createDomain_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createDomain_args");
 
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField DOMAIN_FIELD_DESC = new org.apache.thrift.protocol.TField("domain", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -6810,11 +6810,11 @@ public class SharingRegistryService {
       schemes.put(TupleScheme.class, new createDomain_argsTupleSchemeFactory());
     }
 
-    public org.apache.airavata.sharing.registry.models.Domain domainId; // required
+    public org.apache.airavata.sharing.registry.models.Domain domain; // 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 {
-      DOMAIN_ID((short)1, "domainId");
+      DOMAIN((short)1, "domain");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -6829,8 +6829,8 @@ public class SharingRegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
+          case 1: // DOMAIN
+            return DOMAIN;
           default:
             return null;
         }
@@ -6874,7 +6874,7 @@ public class SharingRegistryService {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.DOMAIN, new org.apache.thrift.meta_data.FieldMetaData("domain", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.Domain.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(createDomain_args.class, metaDataMap);
@@ -6884,18 +6884,18 @@ public class SharingRegistryService {
     }
 
     public createDomain_args(
-      org.apache.airavata.sharing.registry.models.Domain domainId)
+      org.apache.airavata.sharing.registry.models.Domain domain)
     {
       this();
-      this.domainId = domainId;
+      this.domain = domain;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
     public createDomain_args(createDomain_args other) {
-      if (other.isSetDomainId()) {
-        this.domainId = new org.apache.airavata.sharing.registry.models.Domain(other.domainId);
+      if (other.isSetDomain()) {
+        this.domain = new org.apache.airavata.sharing.registry.models.Domain(other.domain);
       }
     }
 
@@ -6905,40 +6905,40 @@ public class SharingRegistryService {
 
     @Override
     public void clear() {
-      this.domainId = null;
+      this.domain = null;
     }
 
-    public org.apache.airavata.sharing.registry.models.Domain getDomainId() {
-      return this.domainId;
+    public org.apache.airavata.sharing.registry.models.Domain getDomain() {
+      return this.domain;
     }
 
-    public createDomain_args setDomainId(org.apache.airavata.sharing.registry.models.Domain domainId) {
-      this.domainId = domainId;
+    public createDomain_args setDomain(org.apache.airavata.sharing.registry.models.Domain domain) {
+      this.domain = domain;
       return this;
     }
 
-    public void unsetDomainId() {
-      this.domainId = null;
+    public void unsetDomain() {
+      this.domain = null;
     }
 
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
+    /** Returns true if field domain is set (has been assigned a value) and false otherwise */
+    public boolean isSetDomain() {
+      return this.domain != null;
     }
 
-    public void setDomainIdIsSet(boolean value) {
+    public void setDomainIsSet(boolean value) {
       if (!value) {
-        this.domainId = null;
+        this.domain = null;
       }
     }
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-      case DOMAIN_ID:
+      case DOMAIN:
         if (value == null) {
-          unsetDomainId();
+          unsetDomain();
         } else {
-          setDomainId((org.apache.airavata.sharing.registry.models.Domain)value);
+          setDomain((org.apache.airavata.sharing.registry.models.Domain)value);
         }
         break;
 
@@ -6947,8 +6947,8 @@ public class SharingRegistryService {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
+      case DOMAIN:
+        return getDomain();
 
       }
       throw new IllegalStateException();
@@ -6961,8 +6961,8 @@ public class SharingRegistryService {
       }
 
       switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
+      case DOMAIN:
+        return isSetDomain();
       }
       throw new IllegalStateException();
     }
@@ -6980,12 +6980,12 @@ public class SharingRegistryService {
       if (that == null)
         return false;
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
+      boolean this_present_domain = true && this.isSetDomain();
+      boolean that_present_domain = true && that.isSetDomain();
+      if (this_present_domain || that_present_domain) {
+        if (!(this_present_domain && that_present_domain))
           return false;
-        if (!this.domainId.equals(that.domainId))
+        if (!this.domain.equals(that.domain))
           return false;
       }
 
@@ -6996,10 +6996,10 @@ public class SharingRegistryService {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
-      boolean present_domainId = true && (isSetDomainId());
-      list.add(present_domainId);
-      if (present_domainId)
-        list.add(domainId);
+      boolean present_domain = true && (isSetDomain());
+      list.add(present_domain);
+      if (present_domain)
+        list.add(domain);
 
       return list.hashCode();
     }
@@ -7012,12 +7012,12 @@ public class SharingRegistryService {
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
+      if (isSetDomain()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domain, other.domain);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -7042,11 +7042,11 @@ public class SharingRegistryService {
       StringBuilder sb = new StringBuilder("createDomain_args(");
       boolean first = true;
 
-      sb.append("domainId:");
-      if (this.domainId == null) {
+      sb.append("domain:");
+      if (this.domain == null) {
         sb.append("null");
       } else {
-        sb.append(this.domainId);
+        sb.append(this.domain);
       }
       first = false;
       sb.append(")");
@@ -7055,12 +7055,12 @@ public class SharingRegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
+      if (domain == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domain' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
-      if (domainId != null) {
-        domainId.validate();
+      if (domain != null) {
+        domain.validate();
       }
     }
 
@@ -7098,11 +7098,11 @@ public class SharingRegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // DOMAIN_ID
+            case 1: // DOMAIN
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.domainId = new org.apache.airavata.sharing.registry.models.Domain();
-                struct.domainId.read(iprot);
-                struct.setDomainIdIsSet(true);
+                struct.domain = new org.apache.airavata.sharing.registry.models.Domain();
+                struct.domain.read(iprot);
+                struct.setDomainIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -7122,9 +7122,9 @@ public class SharingRegistryService {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          struct.domainId.write(oprot);
+        if (struct.domain != null) {
+          oprot.writeFieldBegin(DOMAIN_FIELD_DESC);
+          struct.domain.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -7144,15 +7144,15 @@ public class SharingRegistryService {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, createDomain_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
-        struct.domainId.write(oprot);
+        struct.domain.write(oprot);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, createDomain_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        struct.domainId = new org.apache.airavata.sharing.registry.models.Domain();
-        struct.domainId.read(iprot);
-        struct.setDomainIdIsSet(true);
+        struct.domain = new org.apache.airavata.sharing.registry.models.Domain();
+        struct.domain.read(iprot);
+        struct.setDomainIsSet(true);
       }
     }
 
@@ -7629,7 +7629,7 @@ public class SharingRegistryService {
   public static class updateDomain_args implements org.apache.thrift.TBase<updateDomain_args, updateDomain_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateDomain_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateDomain_args");
 
-    private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+    private static final org.apache.thrift.protocol.TField DOMAIN_FIELD_DESC = new org.apache.thrift.protocol.TField("domain", org.apache.thrift.protocol.TType.STRUCT, (short)1);
 
     private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
     static {
@@ -7637,11 +7637,11 @@ public class SharingRegistryService {
       schemes.put(TupleScheme.class, new updateDomain_argsTupleSchemeFactory());
     }
 
-    public org.apache.airavata.sharing.registry.models.Domain domainId; // required
+    public org.apache.airavata.sharing.registry.models.Domain domain; // 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 {
-      DOMAIN_ID((short)1, "domainId");
+      DOMAIN((short)1, "domain");
 
       private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -7656,8 +7656,8 @@ public class SharingRegistryService {
        */
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
-          case 1: // DOMAIN_ID
-            return DOMAIN_ID;
+          case 1: // DOMAIN
+            return DOMAIN;
           default:
             return null;
         }
@@ -7701,7 +7701,7 @@ public class SharingRegistryService {
     public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
     static {
       Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+      tmpMap.put(_Fields.DOMAIN, new org.apache.thrift.meta_data.FieldMetaData("domain", org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.Domain.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
       org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(updateDomain_args.class, metaDataMap);
@@ -7711,18 +7711,18 @@ public class SharingRegistryService {
     }
 
     public updateDomain_args(
-      org.apache.airavata.sharing.registry.models.Domain domainId)
+      org.apache.airavata.sharing.registry.models.Domain domain)
     {
       this();
-      this.domainId = domainId;
+      this.domain = domain;
     }
 
     /**
      * Performs a deep copy on <i>other</i>.
      */
     public updateDomain_args(updateDomain_args other) {
-      if (other.isSetDomainId()) {
-        this.domainId = new org.apache.airavata.sharing.registry.models.Domain(other.domainId);
+      if (other.isSetDomain()) {
+        this.domain = new org.apache.airavata.sharing.registry.models.Domain(other.domain);
       }
     }
 
@@ -7732,40 +7732,40 @@ public class SharingRegistryService {
 
     @Override
     public void clear() {
-      this.domainId = null;
+      this.domain = null;
     }
 
-    public org.apache.airavata.sharing.registry.models.Domain getDomainId() {
-      return this.domainId;
+    public org.apache.airavata.sharing.registry.models.Domain getDomain() {
+      return this.domain;
     }
 
-    public updateDomain_args setDomainId(org.apache.airavata.sharing.registry.models.Domain domainId) {
-      this.domainId = domainId;
+    public updateDomain_args setDomain(org.apache.airavata.sharing.registry.models.Domain domain) {
+      this.domain = domain;
       return this;
     }
 
-    public void unsetDomainId() {
-      this.domainId = null;
+    public void unsetDomain() {
+      this.domain = null;
     }
 
-    /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
-    public boolean isSetDomainId() {
-      return this.domainId != null;
+    /** Returns true if field domain is set (has been assigned a value) and false otherwise */
+    public boolean isSetDomain() {
+      return this.domain != null;
     }
 
-    public void setDomainIdIsSet(boolean value) {
+    public void setDomainIsSet(boolean value) {
       if (!value) {
-        this.domainId = null;
+        this.domain = null;
       }
     }
 
     public void setFieldValue(_Fields field, Object value) {
       switch (field) {
-      case DOMAIN_ID:
+      case DOMAIN:
         if (value == null) {
-          unsetDomainId();
+          unsetDomain();
         } else {
-          setDomainId((org.apache.airavata.sharing.registry.models.Domain)value);
+          setDomain((org.apache.airavata.sharing.registry.models.Domain)value);
         }
         break;
 
@@ -7774,8 +7774,8 @@ public class SharingRegistryService {
 
     public Object getFieldValue(_Fields field) {
       switch (field) {
-      case DOMAIN_ID:
-        return getDomainId();
+      case DOMAIN:
+        return getDomain();
 
       }
       throw new IllegalStateException();
@@ -7788,8 +7788,8 @@ public class SharingRegistryService {
       }
 
       switch (field) {
-      case DOMAIN_ID:
-        return isSetDomainId();
+      case DOMAIN:
+        return isSetDomain();
       }
       throw new IllegalStateException();
     }
@@ -7807,12 +7807,12 @@ public class SharingRegistryService {
       if (that == null)
         return false;
 
-      boolean this_present_domainId = true && this.isSetDomainId();
-      boolean that_present_domainId = true && that.isSetDomainId();
-      if (this_present_domainId || that_present_domainId) {
-        if (!(this_present_domainId && that_present_domainId))
+      boolean this_present_domain = true && this.isSetDomain();
+      boolean that_present_domain = true && that.isSetDomain();
+      if (this_present_domain || that_present_domain) {
+        if (!(this_present_domain && that_present_domain))
           return false;
-        if (!this.domainId.equals(that.domainId))
+        if (!this.domain.equals(that.domain))
           return false;
       }
 
@@ -7823,10 +7823,10 @@ public class SharingRegistryService {
     public int hashCode() {
       List<Object> list = new ArrayList<Object>();
 
-      boolean present_domainId = true && (isSetDomainId());
-      list.add(present_domainId);
-      if (present_domainId)
-        list.add(domainId);
+      boolean present_domain = true && (isSetDomain());
+      list.add(present_domain);
+      if (present_domain)
+        list.add(domain);
 
       return list.hashCode();
     }
@@ -7839,12 +7839,12 @@ public class SharingRegistryService {
 
       int lastComparison = 0;
 
-      lastComparison = Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
       if (lastComparison != 0) {
         return lastComparison;
       }
-      if (isSetDomainId()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
+      if (isSetDomain()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domain, other.domain);
         if (lastComparison != 0) {
           return lastComparison;
         }
@@ -7869,11 +7869,11 @@ public class SharingRegistryService {
       StringBuilder sb = new StringBuilder("updateDomain_args(");
       boolean first = true;
 
-      sb.append("domainId:");
-      if (this.domainId == null) {
+      sb.append("domain:");
+      if (this.domain == null) {
         sb.append("null");
       } else {
-        sb.append(this.domainId);
+        sb.append(this.domain);
       }
       first = false;
       sb.append(")");
@@ -7882,12 +7882,12 @@ public class SharingRegistryService {
 
     public void validate() throws org.apache.thrift.TException {
       // check for required fields
-      if (domainId == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domainId' was not present! Struct: " + toString());
+      if (domain == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'domain' was not present! Struct: " + toString());
       }
       // check for sub-struct validity
-      if (domainId != null) {
-        domainId.validate();
+      if (domain != null) {
+        domain.validate();
       }
     }
 
@@ -7925,11 +7925,11 @@ public class SharingRegistryService {
             break;
           }
           switch (schemeField.id) {
-            case 1: // DOMAIN_ID
+            case 1: // DOMAIN
               if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.domainId = new org.apache.airavata.sharing.registry.models.Domain();
-                struct.domainId.read(iprot);
-                struct.setDomainIdIsSet(true);
+                struct.domain = new org.apache.airavata.sharing.registry.models.Domain();
+                struct.domain.read(iprot);
+                struct.setDomainIsSet(true);
               } else { 
                 org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
               }
@@ -7949,9 +7949,9 @@ public class SharingRegistryService {
         struct.validate();
 
         oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.domainId != null) {
-          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
-          struct.domainId.write(oprot);
+        if (struct.domain != null) {
+          oprot.writeFieldBegin(DOMAIN_FIELD_DESC);
+          struct.domain.write(oprot);
           oprot.writeFieldEnd();
         }
         oprot.writeFieldStop();
@@ -7971,15 +7971,15 @@ public class SharingRegistryService {
       @Override
       public void write(org.apache.thrift.protocol.TProtocol prot, updateDomain_args struct) throws org.apache.thrift.TException {
         TTupleProtocol oprot = (TTupleProtocol) prot;
-        struct.domainId.write(oprot);
+        struct.domain.write(oprot);
       }
 
       @Override
       public void read(org.apache.thrift.protocol.TProtocol prot, updateDomain_args struct) throws org.apache.thrift.TException {
         TTupleProtocol iprot = (TTupleProtocol) prot;
-        struct.domainId = new org.apache.airavata.sharing.registry.models.Domain();
-        struct.domainId.read(iprot);
-        struct.setDomainIdIsSet(true);
+        struct.domain = new org.apache.airavata.sharing.registry.models.Domain();
+        struct.domain.read(iprot);
+        struct.setDomainIsSet(true);
       }
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-service-docs/api-docs/index.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/api-docs/index.html b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
new file mode 100644
index 0000000..6663a9d
--- /dev/null
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/index.html
@@ -0,0 +1,79 @@
+<html><head>
+<link href="style.css" rel="stylesheet" type="text/css"/>
+<title>All Thrift declarations</title></head><body>
+<div class="container-fluid">
+<h1>All Thrift declarations</h1>
+<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>sharing_cpi</td><td><a href="sharing_cpi.html#Svc_SharingRegistryService">SharingRegistryService</a><br/>
+<ul>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createDomain">createDomain</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createEntityType">createEntityType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createGroup">createGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_createPermissionType">createPermissionType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteDomain">deleteDomain</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteEntity">deleteEntity</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteEntityType">deleteEntityType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomain">getDomain</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getDomains">getDomains</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntity">getEntity</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntityType">getEntityType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getEntityTypes">getEntityTypes</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroup">getGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroupMembersOfTypeGroup">getGroupMembersOfTypeGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroupMembersOfTypeUser">getGroupMembersOfTypeUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getGroups">getGroups</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getListOfSharedGroups">getListOfSharedGroups</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getListOfSharedUsers">getListOfSharedUsers</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionType">getPermissionType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getUser">getUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_getUsers">getUsers</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_registerEntity">registerEntity</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_registerUser">registerUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updateGroup">updateGroup</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updatePermissionType">updatePermissionType</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_updatedUser">updatedUser</a></li>
+<li><a href="sharing_cpi.html#Fn_SharingRegistryService_userHasAccess">userHasAccess</a></li>
+</ul>
+</td>
+<td></td>
+<td></code></td>
+</tr><tr>
+<td>sharing_models</td><td></td>
+<td><a href="sharing_models.html#Struct_Domain">Domain</a><br/>
+<a href="sharing_models.html#Struct_Entity">Entity</a><br/>
+<a href="sharing_models.html#Enum_EntitySearchField">EntitySearchField</a><br/>
+<a href="sharing_models.html#Struct_EntityType">EntityType</a><br/>
+<a href="sharing_models.html#Enum_GroupCardinality">GroupCardinality</a><br/>
+<a href="sharing_models.html#Enum_GroupChildType">GroupChildType</a><br/>
+<a href="sharing_models.html#Struct_GroupMembership">GroupMembership</a><br/>
+<a href="sharing_models.html#Enum_GroupType">GroupType</a><br/>
+<a href="sharing_models.html#Struct_PermissionType">PermissionType</a><br/>
+<a href="sharing_models.html#Enum_SearchCondition">SearchCondition</a><br/>
+<a href="sharing_models.html#Struct_SearchCriteria">SearchCriteria</a><br/>
+<a href="sharing_models.html#Struct_Sharing">Sharing</a><br/>
+<a href="sharing_models.html#Struct_SharingRegistryException">SharingRegistryException</a><br/>
+<a href="sharing_models.html#Enum_SharingType">SharingType</a><br/>
+<a href="sharing_models.html#Struct_User">User</a><br/>
+<a href="sharing_models.html#Struct_UserGroup">UserGroup</a><br/>
+</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></table>
+</div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.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
new file mode 100644
index 0000000..9b6253d
--- /dev/null
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.html
@@ -0,0 +1,278 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<link href="style.css" rel="stylesheet" type="text/css"/>
+<title>Thrift module: sharing_cpi</title></head><body>
+<div class="container-fluid">
+<h1>Thrift module: sharing_cpi</h1>
+<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>sharing_cpi</td><td><a href="#Svc_SharingRegistryService">SharingRegistryService</a><br/>
+<ul>
+<li><a href="#Fn_SharingRegistryService_addChildGroupsToParentGroup">addChildGroupsToParentGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_addUsersToGroup">addUsersToGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_createDomain">createDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_createEntityType">createEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_createGroup">createGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_createPermissionType">createPermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteDomain">deleteDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteEntity">deleteEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteEntityType">deleteEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteGroup">deleteGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_deletePermissionType">deletePermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_deleteUser">deleteUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getDomain">getDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_getDomains">getDomains</a></li>
+<li><a href="#Fn_SharingRegistryService_getEntity">getEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_getEntityType">getEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_getEntityTypes">getEntityTypes</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroup">getGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroupMembersOfTypeGroup">getGroupMembersOfTypeGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroupMembersOfTypeUser">getGroupMembersOfTypeUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getGroups">getGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_getListOfSharedGroups">getListOfSharedGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_getListOfSharedUsers">getListOfSharedUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_getPermissionType">getPermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_getPermissionTypes">getPermissionTypes</a></li>
+<li><a href="#Fn_SharingRegistryService_getUser">getUser</a></li>
+<li><a href="#Fn_SharingRegistryService_getUsers">getUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_registerEntity">registerEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_registerUser">registerUser</a></li>
+<li><a href="#Fn_SharingRegistryService_removeChildGroupFromParentGroup">removeChildGroupFromParentGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_removeUsersFromGroup">removeUsersFromGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromGroups">revokeEntitySharingFromGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_revokeEntitySharingFromUsers">revokeEntitySharingFromUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_searchEntities">searchEntities</a></li>
+<li><a href="#Fn_SharingRegistryService_shareEntityWithGroups">shareEntityWithGroups</a></li>
+<li><a href="#Fn_SharingRegistryService_shareEntityWithUsers">shareEntityWithUsers</a></li>
+<li><a href="#Fn_SharingRegistryService_updateDomain">updateDomain</a></li>
+<li><a href="#Fn_SharingRegistryService_updateEntity">updateEntity</a></li>
+<li><a href="#Fn_SharingRegistryService_updateEntityType">updateEntityType</a></li>
+<li><a href="#Fn_SharingRegistryService_updateGroup">updateGroup</a></li>
+<li><a href="#Fn_SharingRegistryService_updatePermissionType">updatePermissionType</a></li>
+<li><a href="#Fn_SharingRegistryService_updatedUser">updatedUser</a></li>
+<li><a href="#Fn_SharingRegistryService_userHasAccess">userHasAccess</a></li>
+</ul>
+</td>
+<td></td>
+<td></code></td>
+</tr></table>
+<hr/><h2 id="Services">Services</h2>
+<h3 id="Svc_SharingRegistryService">Service: SharingRegistryService</h3>
+<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>
+</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><p>API method to update a domain</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><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><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><p>API method to get all domain.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_registerUser">Function: SharingRegistryService.registerUser</h4>
+<pre><code>string</code> registerUser(<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><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><p>API method to update existing user</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
+<pre><code>bool</code> deleteUser(<code>string</code> userId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> userId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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><p>API method to get a list of users in a specific domain Users will be reverse sorted based on the created time.</p>
+<li>domainId : Domain id</li>
+<li>offset : Starting result number</li>
+<li>limit : Number of max results to be sent</li>
+<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><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><p>API method to update a group</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
+<pre><code>bool</code> deleteGroup(<code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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><p>API method to get groups in a domainId. Results are reverse sorted based on created time.</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
+<pre><code>bool</code> addUsersToGroup(<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><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>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><p>API method to remove users from a 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> groupId,
+                                                    <code>i32</code> offset,
+                                                    <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get list of child users in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</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> groupId,
+                                                          <code>i32</code> offset,
+                                                          <code>i32</code> limit)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to get list of child groups in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
+<pre><code>bool</code> addChildGroupsToParentGroup(<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><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> childId,
+                                     <code>string</code> groupId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</pre><p>API method to remove a child group from parent group.</p>
+<br/></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>
+</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><p>API method to update entity type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
+<pre><code>bool</code> deleteEntityType(<code>string</code> entityTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> entityTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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><p>API method to get entity types in a domainId. Results are reverse time sorted based on creation time</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_registerEntity">Function: SharingRegistryService.registerEntity</h4>
+<pre><code>string</code> registerEntity(<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><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><p>API method to update entity</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
+<pre><code>bool</code> deleteEntity(<code>string</code> entityId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> entityId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> userId,
+                                           <code>string</code> entityTypeId,
+                                           <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><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> entityId,
+                                               <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> entityId,
+                                                     <code>string</code> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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>
+</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><p>API method to update permission type</p>
+<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
+<pre><code>bool</code> deletePermissionType(<code>string</code> entityTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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> permissionTypeId)
+    throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
+</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><p>API method to get list of permission types in a given domainId. Results are reverse time sorted based on creation time</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><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><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><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><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><p>API method to check whether a user has access to a specific entity</p>
+<br/></div></div></body></html>

http://git-wip-us.apache.org/repos/asf/airavata/blob/61a0fc95/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.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
new file mode 100644
index 0000000..1d4dff8
--- /dev/null
+++ b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.html
@@ -0,0 +1,273 @@
+<!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">
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
+<link href="style.css" rel="stylesheet" type="text/css"/>
+<title>Thrift module: sharing_models</title></head><body>
+<div class="container-fluid">
+<h1>Thrift module: sharing_models</h1>
+<table class="table-bordered table-striped table-condensed"><thead><th>Module</th><th>Services</th><th>Data types</th><th>Constants</th></thead>
+<tr>
+<td>sharing_models</td><td></td>
+<td><a href="#Struct_Domain">Domain</a><br/>
+<a href="#Struct_Entity">Entity</a><br/>
+<a href="#Enum_EntitySearchField">EntitySearchField</a><br/>
+<a href="#Struct_EntityType">EntityType</a><br/>
+<a href="#Enum_GroupCardinality">GroupCardinality</a><br/>
+<a href="#Enum_GroupChildType">GroupChildType</a><br/>
+<a href="#Struct_GroupMembership">GroupMembership</a><br/>
+<a href="#Enum_GroupType">GroupType</a><br/>
+<a href="#Struct_PermissionType">PermissionType</a><br/>
+<a href="#Enum_SearchCondition">SearchCondition</a><br/>
+<a href="#Struct_SearchCriteria">SearchCriteria</a><br/>
+<a href="#Struct_Sharing">Sharing</a><br/>
+<a href="#Struct_SharingRegistryException">SharingRegistryException</a><br/>
+<a href="#Enum_SharingType">SharingType</a><br/>
+<a href="#Struct_User">User</a><br/>
+<a href="#Struct_UserGroup">UserGroup</a><br/>
+</td>
+<td><code><a href="#Const_DO_NOT_SET_AT_CLIENTS_ID">DO_NOT_SET_AT_CLIENTS_ID</a></code><br/>
+</code></td>
+</tr></table>
+<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_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>
+<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>
+
+<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>
+<p>Group types can be either user level or domain level groups.</p>
+
+<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>
+<p>System internal data type to match group child types</p>
+
+<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>
+<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>
+<li>PARENT_ENTITY_ID : Parent entity id of the entity</li>
+<li>CREATED_TIME : Created time of the entity</li>
+<li>UPDATED_TIME : Updated time of the entity</li>
+
+<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>
+</td></tr>
+<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
+</td></tr>
+<tr><td><code>PRRENT_ENTITY_ID</code></td><td><code>3</code></td><td>
+</td></tr>
+<tr><td><code>CREATED_TIME</code></td><td><code>4</code></td><td>
+</td></tr>
+<tr><td><code>UPDATED_TIME</code></td><td><code>5</code></td><td>
+</td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_SearchCondition">Enumeration: SearchCondition</h3>
+<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 and updated time.</li>
+<li>LTE : Less than or equal. Only applicable for created time and updated time.</li>
+
+<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>
+</td></tr>
+<tr><td><code>FULL_TEXT</code></td><td><code>2</code></td><td>
+</td></tr>
+<tr><td><code>GTE</code></td><td><code>3</code></td><td>
+</td></tr>
+<tr><td><code>LTE</code></td><td><code>4</code></td><td>
+</td></tr>
+</table></div>
+<div class="definition"><h3 id="Enum_SharingType">Enumeration: SharingType</h3>
+<p>This is an internal enum type for managing sharings</p>
+
+<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>
+</td></tr>
+<tr><td><code>INDIRECT_CASCADING</code></td><td><code>2</code></td><td>
+</td></tr>
+</table></div>
+<hr/><h2 id="Structs">Data structures</h2>
+<div class="definition"><h3 id="Struct_Domain">Struct: Domain</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>domainId</td><td><code>string</code></td><td></td><td>optional</td><td><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<tr><td>2</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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/><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>
+<li><b>name</b> : A single word name that identifies the domain e.g seagrid, ultrascan</li>
+<li>description : A short description for the domain</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<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>
+<tr><td>3</td><td>userName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>firstName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>lastName</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>email</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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/><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> : Client provided user id. (The id is not system generated and it is a must to provide this id)</li>
+<li><b>domainId</b> : Domain id for that user</li>
+<li><b>userName</b> : User name for the user</li>
+<li><b>firstName</b> : First name of the user</li>
+<li><b>lastName</b> : Last name of the user</li>
+<li><b>email</b> : Email address of the user</li>
+<li>icon : A binary field for storing the user icon</li>
+<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>
+
+<br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: UserGroup</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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>groupType</td><td><code><a href="#Enum_GroupType">GroupType</a></code></td><td></td><td>optional</td><td></td></tr>
+<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/><p>User group is a collection of users.</p>
+ <li>groupId : System generated grouo id. In the current implementation this is of the form domainId:name</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>
+ <li>description : Short description for the group.</li>
+ <li><b>ownerId</b> : Owner id of this group.</li>
+ <li><b>groupType</b> : Group type (DOMAIN_LEVEL_GROUP, USER_LEVEL_GROUP)</li>
+ <li><b>groupCardinality</b> : Group cardinality (SINGLE_USER, MULTI_USER)</li>
+ <li>createdTime : Will be set by the system</li>
+ <li>updatedTime : Will be set by the system</li>
+ 
+<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>
+<tr><td>3</td><td>childType</td><td><code><a href="#Enum_GroupChildType">GroupChildType</a></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/><p>System internal data type to map group memberships</p>
+
+<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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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/><p>client defined entity types</p>
+<li>entityTypeId : System generated entity type id. In the current implementation it will of the form domainId:name</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>
+<li>description : Short description for the entity type.</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<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/><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>
+
+<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>
+<tr><td>3</td><td>entityTypeId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>ownerId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>parentEntityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>7</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>8</td><td>metadata</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>9</td><td>fullText</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>10</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>11</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>Entity object which is used to register an entity in the system.</p>
+<li><b>entityId</b> : Client id provided by the client</li>
+<li><b>domainId</b> : Domain id</li>
+<li><b>entityTypeId</b> : Entity type id</li>
+<li><b>ownerId</b> : Owner id</li>
+<li>parentEntityId : Parent entity id</li>
+<li><b>name</b> : Name</li>
+<li>description : Short description for the entity</li>
+<li>metadata : Map of optional metadata</li>
+<li>fullText : A string which will be considered for full text search</li>
+<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>
+
+<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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<tr><td>2</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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/><p>Object for creating client defined permission type</p>
+<li>permissionTypeId : System generated permission type id. In the current implementation it will of the form domainId:name</li>
+<li><b>domainId</b> : Domain id</li>
+<li><b>name</b> : Single word name for the permission</li>
+<li>description : Short description for the permission type</li>
+<li>createdTime : Will be set by the system</li>
+<li>updatedTime : Will be set by the system</li>
+
+<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>
+<tr><td>3</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>4</td><td>sharingType</td><td><code><a href="#Enum_SharingType">SharingType</a></code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>6</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>7</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+</table><br/><p>This is an internal enum type for managing sharings</p>
+
+<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/><p>Exception model used in the sharing registry service</p>
+
+<br/></div></div></body></html>


[6/9] airavata git commit: fixing id issues

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
----------------------------------------------------------------------
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 9fe3043..819dd0d 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
@@ -38,15 +38,16 @@ import org.slf4j.LoggerFactory;
  * <p>System internal data type to map group memberships</p>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class GroupMembership implements org.apache.thrift.TBase<GroupMembership, GroupMembership._Fields>, java.io.Serializable, Cloneable, Comparable<GroupMembership> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupMembership");
 
   private static final org.apache.thrift.protocol.TField PARENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parentId", org.apache.thrift.protocol.TType.STRING, (short)1);
   private static final org.apache.thrift.protocol.TField CHILD_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("childId", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField CHILD_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("childType", org.apache.thrift.protocol.TType.I32, (short)3);
-  private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)4);
-  private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)5);
+  private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)3);
+  private static final org.apache.thrift.protocol.TField CHILD_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("childType", org.apache.thrift.protocol.TType.I32, (short)4);
+  private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)5);
+  private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)6);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -56,6 +57,7 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
 
   public String parentId; // optional
   public String childId; // optional
+  public String domainId; // optional
   /**
    * 
    * @see GroupChildType
@@ -68,13 +70,14 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
     PARENT_ID((short)1, "parentId"),
     CHILD_ID((short)2, "childId"),
+    DOMAIN_ID((short)3, "domainId"),
     /**
      * 
      * @see GroupChildType
      */
-    CHILD_TYPE((short)3, "childType"),
-    CREATED_TIME((short)4, "createdTime"),
-    UPDATED_TIME((short)5, "updatedTime");
+    CHILD_TYPE((short)4, "childType"),
+    CREATED_TIME((short)5, "createdTime"),
+    UPDATED_TIME((short)6, "updatedTime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -93,11 +96,13 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
           return PARENT_ID;
         case 2: // CHILD_ID
           return CHILD_ID;
-        case 3: // CHILD_TYPE
+        case 3: // DOMAIN_ID
+          return DOMAIN_ID;
+        case 4: // CHILD_TYPE
           return CHILD_TYPE;
-        case 4: // CREATED_TIME
+        case 5: // CREATED_TIME
           return CREATED_TIME;
-        case 5: // UPDATED_TIME
+        case 6: // UPDATED_TIME
           return UPDATED_TIME;
         default:
           return null;
@@ -142,7 +147,7 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
   private static final int __CREATEDTIME_ISSET_ID = 0;
   private static final int __UPDATEDTIME_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.PARENT_ID,_Fields.CHILD_ID,_Fields.CHILD_TYPE,_Fields.CREATED_TIME,_Fields.UPDATED_TIME};
+  private static final _Fields optionals[] = {_Fields.PARENT_ID,_Fields.CHILD_ID,_Fields.DOMAIN_ID,_Fields.CHILD_TYPE,_Fields.CREATED_TIME,_Fields.UPDATED_TIME};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -150,6 +155,8 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CHILD_ID, new org.apache.thrift.meta_data.FieldMetaData("childId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CHILD_TYPE, new org.apache.thrift.meta_data.FieldMetaData("childType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, GroupChildType.class)));
     tmpMap.put(_Fields.CREATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("createdTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -174,6 +181,9 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     if (other.isSetChildId()) {
       this.childId = other.childId;
     }
+    if (other.isSetDomainId()) {
+      this.domainId = other.domainId;
+    }
     if (other.isSetChildType()) {
       this.childType = other.childType;
     }
@@ -189,6 +199,7 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
   public void clear() {
     this.parentId = null;
     this.childId = null;
+    this.domainId = null;
     this.childType = null;
     setCreatedTimeIsSet(false);
     this.createdTime = 0;
@@ -244,6 +255,30 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     }
   }
 
+  public String getDomainId() {
+    return this.domainId;
+  }
+
+  public GroupMembership setDomainId(String domainId) {
+    this.domainId = domainId;
+    return this;
+  }
+
+  public void unsetDomainId() {
+    this.domainId = null;
+  }
+
+  /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
+  public boolean isSetDomainId() {
+    return this.domainId != null;
+  }
+
+  public void setDomainIdIsSet(boolean value) {
+    if (!value) {
+      this.domainId = null;
+    }
+  }
+
   /**
    * 
    * @see GroupChildType
@@ -340,6 +375,14 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
       }
       break;
 
+    case DOMAIN_ID:
+      if (value == null) {
+        unsetDomainId();
+      } else {
+        setDomainId((String)value);
+      }
+      break;
+
     case CHILD_TYPE:
       if (value == null) {
         unsetChildType();
@@ -375,6 +418,9 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     case CHILD_ID:
       return getChildId();
 
+    case DOMAIN_ID:
+      return getDomainId();
+
     case CHILD_TYPE:
       return getChildType();
 
@@ -399,6 +445,8 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
       return isSetParentId();
     case CHILD_ID:
       return isSetChildId();
+    case DOMAIN_ID:
+      return isSetDomainId();
     case CHILD_TYPE:
       return isSetChildType();
     case CREATED_TIME:
@@ -440,6 +488,15 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
         return false;
     }
 
+    boolean this_present_domainId = true && this.isSetDomainId();
+    boolean that_present_domainId = true && that.isSetDomainId();
+    if (this_present_domainId || that_present_domainId) {
+      if (!(this_present_domainId && that_present_domainId))
+        return false;
+      if (!this.domainId.equals(that.domainId))
+        return false;
+    }
+
     boolean this_present_childType = true && this.isSetChildType();
     boolean that_present_childType = true && that.isSetChildType();
     if (this_present_childType || that_present_childType) {
@@ -484,6 +541,11 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     if (present_childId)
       list.add(childId);
 
+    boolean present_domainId = true && (isSetDomainId());
+    list.add(present_domainId);
+    if (present_domainId)
+      list.add(domainId);
+
     boolean present_childType = true && (isSetChildType());
     list.add(present_childType);
     if (present_childType)
@@ -530,6 +592,16 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDomainId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetChildType()).compareTo(other.isSetChildType());
     if (lastComparison != 0) {
       return lastComparison;
@@ -599,6 +671,16 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
       }
       first = false;
     }
+    if (isSetDomainId()) {
+      if (!first) sb.append(", ");
+      sb.append("domainId:");
+      if (this.domainId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.domainId);
+      }
+      first = false;
+    }
     if (isSetChildType()) {
       if (!first) sb.append(", ");
       sb.append("childType:");
@@ -682,7 +764,15 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 3: // CHILD_TYPE
+          case 3: // DOMAIN_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.domainId = iprot.readString();
+              struct.setDomainIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 4: // CHILD_TYPE
             if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
               struct.childType = org.apache.airavata.sharing.registry.models.GroupChildType.findByValue(iprot.readI32());
               struct.setChildTypeIsSet(true);
@@ -690,7 +780,7 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 4: // CREATED_TIME
+          case 5: // CREATED_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.createdTime = iprot.readI64();
               struct.setCreatedTimeIsSet(true);
@@ -698,7 +788,7 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // UPDATED_TIME
+          case 6: // UPDATED_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.updatedTime = iprot.readI64();
               struct.setUpdatedTimeIsSet(true);
@@ -735,6 +825,13 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
           oprot.writeFieldEnd();
         }
       }
+      if (struct.domainId != null) {
+        if (struct.isSetDomainId()) {
+          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
+          oprot.writeString(struct.domainId);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.childType != null) {
         if (struct.isSetChildType()) {
           oprot.writeFieldBegin(CHILD_TYPE_FIELD_DESC);
@@ -776,22 +873,28 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
       if (struct.isSetChildId()) {
         optionals.set(1);
       }
-      if (struct.isSetChildType()) {
+      if (struct.isSetDomainId()) {
         optionals.set(2);
       }
-      if (struct.isSetCreatedTime()) {
+      if (struct.isSetChildType()) {
         optionals.set(3);
       }
-      if (struct.isSetUpdatedTime()) {
+      if (struct.isSetCreatedTime()) {
         optionals.set(4);
       }
-      oprot.writeBitSet(optionals, 5);
+      if (struct.isSetUpdatedTime()) {
+        optionals.set(5);
+      }
+      oprot.writeBitSet(optionals, 6);
       if (struct.isSetParentId()) {
         oprot.writeString(struct.parentId);
       }
       if (struct.isSetChildId()) {
         oprot.writeString(struct.childId);
       }
+      if (struct.isSetDomainId()) {
+        oprot.writeString(struct.domainId);
+      }
       if (struct.isSetChildType()) {
         oprot.writeI32(struct.childType.getValue());
       }
@@ -806,7 +909,7 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, GroupMembership struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(5);
+      BitSet incoming = iprot.readBitSet(6);
       if (incoming.get(0)) {
         struct.parentId = iprot.readString();
         struct.setParentIdIsSet(true);
@@ -816,14 +919,18 @@ public class GroupMembership implements org.apache.thrift.TBase<GroupMembership,
         struct.setChildIdIsSet(true);
       }
       if (incoming.get(2)) {
+        struct.domainId = iprot.readString();
+        struct.setDomainIdIsSet(true);
+      }
+      if (incoming.get(3)) {
         struct.childType = org.apache.airavata.sharing.registry.models.GroupChildType.findByValue(iprot.readI32());
         struct.setChildTypeIsSet(true);
       }
-      if (incoming.get(3)) {
+      if (incoming.get(4)) {
         struct.createdTime = iprot.readI64();
         struct.setCreatedTimeIsSet(true);
       }
-      if (incoming.get(4)) {
+      if (incoming.get(5)) {
         struct.updatedTime = iprot.readI64();
         struct.setUpdatedTimeIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
----------------------------------------------------------------------
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 2952f7a..9736a85 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
@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
  * <p>Object for creating client defined permission type</p>
- * <li>permissionTypeId : System generated permission type id. In the current implementation it will of the form domainId:name</li>
+ * <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>
  * <li>description : Short description for the permission type</li>
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class PermissionType implements org.apache.thrift.TBase<PermissionType, PermissionType._Fields>, java.io.Serializable, Cloneable, Comparable<PermissionType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PermissionType");
 
@@ -166,8 +166,6 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
   }
 
   public PermissionType() {
-    this.permissionTypeId = "DO_NOT_SET_AT_CLIENTS_ID";
-
   }
 
   /**
@@ -197,8 +195,7 @@ public class PermissionType implements org.apache.thrift.TBase<PermissionType, P
 
   @Override
   public void clear() {
-    this.permissionTypeId = "DO_NOT_SET_AT_CLIENTS_ID";
-
+    this.permissionTypeId = null;
     this.domainId = null;
     this.name = null;
     this.description = null;

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
----------------------------------------------------------------------
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 71fd003..faffae0 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
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
  * <li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, SearchCriteria._Fields>, java.io.Serializable, Cloneable, Comparable<SearchCriteria> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SearchCriteria");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
----------------------------------------------------------------------
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 ed1cd61..753fe74 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * <p>This is an internal enum type for managing sharings</p>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields>, java.io.Serializable, Cloneable, Comparable<Sharing> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Sharing");
 
@@ -46,9 +46,10 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
   private static final org.apache.thrift.protocol.TField ENTITY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("entityId", org.apache.thrift.protocol.TType.STRING, (short)2);
   private static final org.apache.thrift.protocol.TField GROUP_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupId", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField SHARING_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("sharingType", org.apache.thrift.protocol.TType.I32, (short)4);
-  private static final org.apache.thrift.protocol.TField INHERITED_PARENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("inheritedParentId", org.apache.thrift.protocol.TType.STRING, (short)5);
-  private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)6);
-  private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)7);
+  private static final org.apache.thrift.protocol.TField DOMAIN_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("domainId", org.apache.thrift.protocol.TType.STRING, (short)5);
+  private static final org.apache.thrift.protocol.TField INHERITED_PARENT_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("inheritedParentId", org.apache.thrift.protocol.TType.STRING, (short)6);
+  private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)7);
+  private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)8);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -64,6 +65,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
    * @see SharingType
    */
   public SharingType sharingType; // optional
+  public String domainId; // optional
   public String inheritedParentId; // optional
   public long createdTime; // optional
   public long updatedTime; // optional
@@ -78,9 +80,10 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
      * @see SharingType
      */
     SHARING_TYPE((short)4, "sharingType"),
-    INHERITED_PARENT_ID((short)5, "inheritedParentId"),
-    CREATED_TIME((short)6, "createdTime"),
-    UPDATED_TIME((short)7, "updatedTime");
+    DOMAIN_ID((short)5, "domainId"),
+    INHERITED_PARENT_ID((short)6, "inheritedParentId"),
+    CREATED_TIME((short)7, "createdTime"),
+    UPDATED_TIME((short)8, "updatedTime");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -103,11 +106,13 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
           return GROUP_ID;
         case 4: // SHARING_TYPE
           return SHARING_TYPE;
-        case 5: // INHERITED_PARENT_ID
+        case 5: // DOMAIN_ID
+          return DOMAIN_ID;
+        case 6: // INHERITED_PARENT_ID
           return INHERITED_PARENT_ID;
-        case 6: // CREATED_TIME
+        case 7: // CREATED_TIME
           return CREATED_TIME;
-        case 7: // UPDATED_TIME
+        case 8: // UPDATED_TIME
           return UPDATED_TIME;
         default:
           return null;
@@ -152,7 +157,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
   private static final int __CREATEDTIME_ISSET_ID = 0;
   private static final int __UPDATEDTIME_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.PERMISSION_TYPE_ID,_Fields.ENTITY_ID,_Fields.GROUP_ID,_Fields.SHARING_TYPE,_Fields.INHERITED_PARENT_ID,_Fields.CREATED_TIME,_Fields.UPDATED_TIME};
+  private static final _Fields optionals[] = {_Fields.PERMISSION_TYPE_ID,_Fields.ENTITY_ID,_Fields.GROUP_ID,_Fields.SHARING_TYPE,_Fields.DOMAIN_ID,_Fields.INHERITED_PARENT_ID,_Fields.CREATED_TIME,_Fields.UPDATED_TIME};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -164,6 +169,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.SHARING_TYPE, new org.apache.thrift.meta_data.FieldMetaData("sharingType", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, SharingType.class)));
+    tmpMap.put(_Fields.DOMAIN_ID, new org.apache.thrift.meta_data.FieldMetaData("domainId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.INHERITED_PARENT_ID, new org.apache.thrift.meta_data.FieldMetaData("inheritedParentId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CREATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("createdTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -194,6 +201,9 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     if (other.isSetSharingType()) {
       this.sharingType = other.sharingType;
     }
+    if (other.isSetDomainId()) {
+      this.domainId = other.domainId;
+    }
     if (other.isSetInheritedParentId()) {
       this.inheritedParentId = other.inheritedParentId;
     }
@@ -211,6 +221,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     this.entityId = null;
     this.groupId = null;
     this.sharingType = null;
+    this.domainId = null;
     this.inheritedParentId = null;
     setCreatedTimeIsSet(false);
     this.createdTime = 0;
@@ -322,6 +333,30 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     }
   }
 
+  public String getDomainId() {
+    return this.domainId;
+  }
+
+  public Sharing setDomainId(String domainId) {
+    this.domainId = domainId;
+    return this;
+  }
+
+  public void unsetDomainId() {
+    this.domainId = null;
+  }
+
+  /** Returns true if field domainId is set (has been assigned a value) and false otherwise */
+  public boolean isSetDomainId() {
+    return this.domainId != null;
+  }
+
+  public void setDomainIdIsSet(boolean value) {
+    if (!value) {
+      this.domainId = null;
+    }
+  }
+
   public String getInheritedParentId() {
     return this.inheritedParentId;
   }
@@ -426,6 +461,14 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
       }
       break;
 
+    case DOMAIN_ID:
+      if (value == null) {
+        unsetDomainId();
+      } else {
+        setDomainId((String)value);
+      }
+      break;
+
     case INHERITED_PARENT_ID:
       if (value == null) {
         unsetInheritedParentId();
@@ -467,6 +510,9 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     case SHARING_TYPE:
       return getSharingType();
 
+    case DOMAIN_ID:
+      return getDomainId();
+
     case INHERITED_PARENT_ID:
       return getInheritedParentId();
 
@@ -495,6 +541,8 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
       return isSetGroupId();
     case SHARING_TYPE:
       return isSetSharingType();
+    case DOMAIN_ID:
+      return isSetDomainId();
     case INHERITED_PARENT_ID:
       return isSetInheritedParentId();
     case CREATED_TIME:
@@ -554,6 +602,15 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
         return false;
     }
 
+    boolean this_present_domainId = true && this.isSetDomainId();
+    boolean that_present_domainId = true && that.isSetDomainId();
+    if (this_present_domainId || that_present_domainId) {
+      if (!(this_present_domainId && that_present_domainId))
+        return false;
+      if (!this.domainId.equals(that.domainId))
+        return false;
+    }
+
     boolean this_present_inheritedParentId = true && this.isSetInheritedParentId();
     boolean that_present_inheritedParentId = true && that.isSetInheritedParentId();
     if (this_present_inheritedParentId || that_present_inheritedParentId) {
@@ -608,6 +665,11 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     if (present_sharingType)
       list.add(sharingType.getValue());
 
+    boolean present_domainId = true && (isSetDomainId());
+    list.add(present_domainId);
+    if (present_domainId)
+      list.add(domainId);
+
     boolean present_inheritedParentId = true && (isSetInheritedParentId());
     list.add(present_inheritedParentId);
     if (present_inheritedParentId)
@@ -674,6 +736,16 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDomainId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.domainId, other.domainId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     lastComparison = Boolean.valueOf(isSetInheritedParentId()).compareTo(other.isSetInheritedParentId());
     if (lastComparison != 0) {
       return lastComparison;
@@ -763,6 +835,16 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
       }
       first = false;
     }
+    if (isSetDomainId()) {
+      if (!first) sb.append(", ");
+      sb.append("domainId:");
+      if (this.domainId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.domainId);
+      }
+      first = false;
+    }
     if (isSetInheritedParentId()) {
       if (!first) sb.append(", ");
       sb.append("inheritedParentId:");
@@ -862,7 +944,15 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 5: // INHERITED_PARENT_ID
+          case 5: // DOMAIN_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.domainId = iprot.readString();
+              struct.setDomainIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 6: // INHERITED_PARENT_ID
             if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
               struct.inheritedParentId = iprot.readString();
               struct.setInheritedParentIdIsSet(true);
@@ -870,7 +960,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 6: // CREATED_TIME
+          case 7: // CREATED_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.createdTime = iprot.readI64();
               struct.setCreatedTimeIsSet(true);
@@ -878,7 +968,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // UPDATED_TIME
+          case 8: // UPDATED_TIME
             if (schemeField.type == org.apache.thrift.protocol.TType.I64) {
               struct.updatedTime = iprot.readI64();
               struct.setUpdatedTimeIsSet(true);
@@ -929,6 +1019,13 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
           oprot.writeFieldEnd();
         }
       }
+      if (struct.domainId != null) {
+        if (struct.isSetDomainId()) {
+          oprot.writeFieldBegin(DOMAIN_ID_FIELD_DESC);
+          oprot.writeString(struct.domainId);
+          oprot.writeFieldEnd();
+        }
+      }
       if (struct.inheritedParentId != null) {
         if (struct.isSetInheritedParentId()) {
           oprot.writeFieldBegin(INHERITED_PARENT_ID_FIELD_DESC);
@@ -976,16 +1073,19 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
       if (struct.isSetSharingType()) {
         optionals.set(3);
       }
-      if (struct.isSetInheritedParentId()) {
+      if (struct.isSetDomainId()) {
         optionals.set(4);
       }
-      if (struct.isSetCreatedTime()) {
+      if (struct.isSetInheritedParentId()) {
         optionals.set(5);
       }
-      if (struct.isSetUpdatedTime()) {
+      if (struct.isSetCreatedTime()) {
         optionals.set(6);
       }
-      oprot.writeBitSet(optionals, 7);
+      if (struct.isSetUpdatedTime()) {
+        optionals.set(7);
+      }
+      oprot.writeBitSet(optionals, 8);
       if (struct.isSetPermissionTypeId()) {
         oprot.writeString(struct.permissionTypeId);
       }
@@ -998,6 +1098,9 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
       if (struct.isSetSharingType()) {
         oprot.writeI32(struct.sharingType.getValue());
       }
+      if (struct.isSetDomainId()) {
+        oprot.writeString(struct.domainId);
+      }
       if (struct.isSetInheritedParentId()) {
         oprot.writeString(struct.inheritedParentId);
       }
@@ -1012,7 +1115,7 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, Sharing struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(7);
+      BitSet incoming = iprot.readBitSet(8);
       if (incoming.get(0)) {
         struct.permissionTypeId = iprot.readString();
         struct.setPermissionTypeIdIsSet(true);
@@ -1030,14 +1133,18 @@ public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields
         struct.setSharingTypeIsSet(true);
       }
       if (incoming.get(4)) {
+        struct.domainId = iprot.readString();
+        struct.setDomainIdIsSet(true);
+      }
+      if (incoming.get(5)) {
         struct.inheritedParentId = iprot.readString();
         struct.setInheritedParentIdIsSet(true);
       }
-      if (incoming.get(5)) {
+      if (incoming.get(6)) {
         struct.createdTime = iprot.readI64();
         struct.setCreatedTimeIsSet(true);
       }
-      if (incoming.get(6)) {
+      if (incoming.get(7)) {
         struct.updatedTime = iprot.readI64();
         struct.setUpdatedTimeIsSet(true);
       }

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
----------------------------------------------------------------------
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 06fa123..61e08aa 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
@@ -38,7 +38,7 @@ import org.slf4j.LoggerFactory;
  * <p>Exception model used in the sharing registry service</p>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class SharingRegistryException extends TException implements org.apache.thrift.TBase<SharingRegistryException, SharingRegistryException._Fields>, java.io.Serializable, Cloneable, Comparable<SharingRegistryException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SharingRegistryException");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
----------------------------------------------------------------------
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 65b5e60..34508f7 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
@@ -37,7 +37,7 @@ import org.slf4j.LoggerFactory;
 /**
  * <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> : Client provided user id. (The id is not system generated and it is a must to provide this id)</li>
+ * <li><b>userId</b> : User id provided by the client</li>
  * <li><b>domainId</b> : Domain id for that user</li>
  * <li><b>userName</b> : User name for the user</li>
  * <li><b>firstName</b> : First name of the user</li>
@@ -48,7 +48,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
----------------------------------------------------------------------
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 8edbcc1..484ea3b 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
@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
  * <p>User group is a collection of users.</p>
- *  <li>groupId : System generated grouo id. In the current implementation this is of the form domainId:name</li>
+ *  <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>
  *  <li>description : Short description for the group.</li>
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  *  <li>updatedTime : Will be set by the system</li>
  *  
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._Fields>, java.io.Serializable, Cloneable, Comparable<UserGroup> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserGroup");
 
@@ -206,8 +206,6 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
   }
 
   public UserGroup() {
-    this.groupId = "DO_NOT_SET_AT_CLIENTS_ID";
-
   }
 
   /**
@@ -246,8 +244,7 @@ public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._
 
   @Override
   public void clear() {
-    this.groupId = "DO_NOT_SET_AT_CLIENTS_ID";
-
+    this.groupId = null;
     this.domainId = null;
     this.name = null;
     this.description = null;


[4/9] airavata git commit: fixing id issues

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_cpi.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 9b6253d..ed7fb89 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
@@ -91,11 +91,13 @@
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to update existing user</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteUser">Function: SharingRegistryService.deleteUser</h4>
-<pre><code>bool</code> deleteUser(<code>string</code> userId)
+<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><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> userId)
+<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><p>API method to get a user</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getUsers">Function: SharingRegistryService.getUsers</h4>
@@ -116,11 +118,13 @@
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to update a group</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteGroup">Function: SharingRegistryService.deleteGroup</h4>
-<pre><code>bool</code> deleteGroup(<code>string</code> groupId)
+<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><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> groupId)
+<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><p>API method to get a group</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getGroups">Function: SharingRegistryService.getGroups</h4>
@@ -129,34 +133,40 @@
                                          <code>i32</code> limit)
 </pre><p>API method to get groups in a domainId. Results are reverse sorted based on created time.</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addUsersToGroup">Function: SharingRegistryService.addUsersToGroup</h4>
-<pre><code>bool</code> addUsersToGroup(<code>list&lt;<code>string</code>&gt;</code> userIds,
+<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><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>list&lt;<code>string</code>&gt;</code> userIds,
+<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><p>API method to remove users from a 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> groupId,
+<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><p>API method to get list of child users in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</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> groupId,
+<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><p>API method to get list of child groups in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_addChildGroupsToParentGroup">Function: SharingRegistryService.addChildGroupsToParentGroup</h4>
-<pre><code>bool</code> addChildGroupsToParentGroup(<code>list&lt;<code>string</code>&gt;</code> childIds,
+<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><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> childId,
+<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><p>API method to remove a child group from parent group.</p>
@@ -169,11 +179,13 @@
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to update entity type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntityType">Function: SharingRegistryService.deleteEntityType</h4>
-<pre><code>bool</code> deleteEntityType(<code>string</code> entityTypeId)
+<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><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> entityTypeId)
+<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><p>API method to get an entity type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getEntityTypes">Function: SharingRegistryService.getEntityTypes</h4>
@@ -191,15 +203,18 @@
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to update entity</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deleteEntity">Function: SharingRegistryService.deleteEntity</h4>
-<pre><code>bool</code> deleteEntity(<code>string</code> entityId)
+<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><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> entityId)
+<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><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> userId,
+<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>string</code> entityTypeId,
                                            <code>list&lt;<code><a href="sharing_models.html#Struct_SearchCriteria">sharing_models.SearchCriteria</a></code>&gt;</code> filters,
                                            <code>i32</code> offset,
@@ -207,12 +222,14 @@
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </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> entityId,
+<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><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> entityId,
+<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><p>API method to get a list of shared groups given the entity id</p>
@@ -225,11 +242,13 @@
     throws <code><a href="sharing_models.html#Struct_SharingRegistryException">sharing_models.SharingRegistryException</a></code>
 </pre><p>API method to update permission type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_deletePermissionType">Function: SharingRegistryService.deletePermissionType</h4>
-<pre><code>bool</code> deletePermissionType(<code>string</code> entityTypeId)
+<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><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> permissionTypeId)
+<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><p>API method to get permission type</p>
 <br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_getPermissionTypes">Function: SharingRegistryService.getPermissionTypes</h4>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-service-docs/api-docs/sharing_models.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 1d4dff8..5065c95 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
@@ -145,7 +145,7 @@ will be same as the domain name</p>
 <tr><td>9</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 </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> : Client provided user id. (The id is not system generated and it is a must to provide this id)</li>
+<li><b>userId</b> : User id provided by the client</li>
 <li><b>domainId</b> : Domain id for that user</li>
 <li><b>userName</b> : User name for the user</li>
 <li><b>firstName</b> : First name of the user</li>
@@ -157,7 +157,7 @@ regarding the user.</p>
 
 <br/></div><div class="definition"><h3 id="Struct_UserGroup">Struct: UserGroup</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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<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>
 <tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>4</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
@@ -167,7 +167,7 @@ regarding the user.</p>
 <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/><p>User group is a collection of users.</p>
- <li>groupId : System generated grouo id. In the current implementation this is of the form domainId:name</li>
+ <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>
  <li>description : Short description for the group.</li>
@@ -181,21 +181,22 @@ regarding the user.</p>
 <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>
-<tr><td>3</td><td>childType</td><td><code><a href="#Enum_GroupChildType">GroupChildType</a></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>
+<tr><td>3</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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/><p>System internal data type to map group memberships</p>
 
 <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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<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>
 <tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <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/><p>client defined entity types</p>
-<li>entityTypeId : System generated entity type id. In the current implementation it will of the form domainId:name</li>
+<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>
 <li>description : Short description for the entity type.</li>
@@ -221,33 +222,33 @@ regarding the user.</p>
 <tr><td>5</td><td>parentEntityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>6</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>7</td><td>description</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>8</td><td>metadata</td><td><code>map&lt;<code>string</code>, <code>string</code>&gt;</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>8</td><td>binaryData</td><td><code>binary</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>9</td><td>fullText</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>10</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>11</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
 </table><br/><p>Entity object which is used to register an entity in the system.</p>
-<li><b>entityId</b> : Client id provided by the client</li>
+<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>
 <li><b>ownerId</b> : Owner id</li>
 <li>parentEntityId : Parent entity id</li>
 <li><b>name</b> : Name</li>
 <li>description : Short description for the entity</li>
-<li>metadata : Map of optional metadata</li>
+<li>binaryData : Any information stored in binary format</li>
 <li>fullText : A string which will be considered for full text search</li>
 <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>
 
 <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><code>"DO_NOT_SET_AT_CLIENTS_ID"</code></td></tr>
+<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>
 <tr><td>3</td><td>name</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <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/><p>Object for creating client defined permission type</p>
-<li>permissionTypeId : System generated permission type id. In the current implementation it will of the form domainId:name</li>
+<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>
 <li>description : Short description for the permission type</li>
@@ -260,9 +261,10 @@ regarding the user.</p>
 <tr><td>2</td><td>entityId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>3</td><td>groupId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
 <tr><td>4</td><td>sharingType</td><td><code><a href="#Enum_SharingType">SharingType</a></code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>5</td><td>inheritedParentId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>6</td><td>createdTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
-<tr><td>7</td><td>updatedTime</td><td><code>i64</code></td><td></td><td>optional</td><td></td></tr>
+<tr><td>5</td><td>domainId</td><td><code>string</code></td><td></td><td>optional</td><td></td></tr>
+<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/><p>This is an internal enum type for managing sharings</p>
 
 <br/></div><div class="definition"><h3 id="Struct_SharingRegistryException">Exception: SharingRegistryException</h3>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-service-docs/index.html
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-service-docs/index.html b/modules/sharing-registry/sharing-service-docs/index.html
index 14f730b..d7a7868 100644
--- a/modules/sharing-registry/sharing-service-docs/index.html
+++ b/modules/sharing-registry/sharing-service-docs/index.html
@@ -7,7 +7,8 @@
 <div class="container-fluid">
     <h2>Welcome to Airavata Sharing Registry Service Documentation</h2>
 
-    <p>Airavata Data Sharing Registry Service is a general purpose data sharing and access controlling service.</p>
+    <p>Airavata Data Sharing Registry Service is a general purpose <em>Collaborative User Space Management Component</em> that can solve
+        your Scientific Data Management requirements related to sharing and access controlling.</p>
 
     <div>
         <ul><a href="#getting-started">Getting Started</a></ul>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_cpi.thrift b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
index 274eb4b..f180738 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -56,11 +56,11 @@ service SharingRegistryService {
     /**
      <p>API method to delete user</p>
     */
-    bool deleteUser(1: required string userId) throws (1: sharing_models.SharingRegistryException sre)
+    bool deleteUser(1: required string domainId, 2: required string userId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get a user</p>
     */
-    sharing_models.User getUser(1: required string userId) throws (1: sharing_models.SharingRegistryException sre)
+    sharing_models.User getUser(1: required string domainId, 2: required string userId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get a list of users in a specific domain Users will be reverse sorted based on the created time.</p>
      <li>domainId : Domain id</li>
@@ -80,11 +80,11 @@ service SharingRegistryService {
     /**
      <p>API method to delete a group</p>
     */
-    bool deleteGroup(1: required string groupId) throws (1: sharing_models.SharingRegistryException sre)
+    bool deleteGroup(1: required string domainId, 2: required string groupId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get a group</p>
     */
-    sharing_models.UserGroup getGroup(1: required string groupId) throws (1: sharing_models.SharingRegistryException sre)
+    sharing_models.UserGroup getGroup(1: required string domainId, 2: required string groupId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get groups in a domainId. Results are reverse sorted based on created time.</p>
     */
@@ -93,27 +93,27 @@ service SharingRegistryService {
     /**
      <p>API method to add list of users to a group</p>
     */
-    bool addUsersToGroup(1: required list<string> userIds, 2: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
+    bool addUsersToGroup(1: required string domainId, 2: required list<string> userIds, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
     /**
      <p>API method to remove users from a group</p>
     */
-    bool removeUsersFromGroup(1: required list<string> userIds, 2: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
+    bool removeUsersFromGroup(1: required string domainId, 2: required list<string> userIds, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
     /**
      <p>API method to get list of child users in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
     */
-    list<sharing_models.User> getGroupMembersOfTypeUser(1: required string groupId, 2: required i32 offset, 3: required i32 limit) throws (1: sharing_models.SharingRegistryException sre);
+    list<sharing_models.User> getGroupMembersOfTypeUser(1: string domainId, 2: required string groupId, 3: required i32 offset, 4: required i32 limit) throws (1: sharing_models.SharingRegistryException sre);
     /**
      <p>API method to get list of child groups in a group. Only the direct members will be returned. Results are reverse time sorted based on creation time</p>
     */
-    list<sharing_models.UserGroup> getGroupMembersOfTypeGroup(1: required string groupId, 2: required i32 offset, 3: required i32 limit) throws (1: sharing_models.SharingRegistryException sre);
+    list<sharing_models.UserGroup> getGroupMembersOfTypeGroup(1: required string domainId, 2: required string groupId, 3: required i32 offset, 4: required i32 limit) throws (1: sharing_models.SharingRegistryException sre);
     /**
      <p>API method to add a child group to a parent group.</p>
     */
-    bool addChildGroupsToParentGroup(1: required list<string> childIds, 2: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
+    bool addChildGroupsToParentGroup(1: required string domainId, 2: required list<string> childIds, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
     /**
      <p>API method to remove a child group from parent group.</p>
     */
-    bool removeChildGroupFromParentGroup(1: required string childId, 2: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
+    bool removeChildGroupFromParentGroup(1: required string domainId, 2: required string childId, 3: required string groupId) throws (1: sharing_models.SharingRegistryException sre);
 
     /**
      <p>API method to create a new entity type</p>
@@ -126,11 +126,11 @@ service SharingRegistryService {
     /**
      <p>API method to delete entity type</p>
     */
-    bool deleteEntityType(1: required string entityTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    bool deleteEntityType(1: required string domainId, 2: required string entityTypeId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get an entity type</p>
     */
-    sharing_models.EntityType getEntityType(1: required string entityTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    sharing_models.EntityType getEntityType(1: required string domainId, 2: required string entityTypeId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get entity types in a domainId. Results are reverse time sorted based on creation time</p>
     */
@@ -148,23 +148,23 @@ service SharingRegistryService {
     /**
      <p>API method to delete entity</p>
     */
-    bool deleteEntity(1: required string entityId) throws (1: sharing_models.SharingRegistryException sre)
+    bool deleteEntity(1: required string domainId, 2: required string entityId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get entity</p>
     */
-    sharing_models.Entity getEntity(1: required string entityId) throws (1: sharing_models.SharingRegistryException sre)
+    sharing_models.Entity getEntity(1: required string domainId, 2: required string entityId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to search entities</p>
     */
-    list<sharing_models.Entity> searchEntities(1: required string userId, 2: required string entityTypeId, 3: required list<sharing_models.SearchCriteria> filters, 4: required i32 offset, 5: required i32 limit) throws (1: sharing_models.SharingRegistryException sre)
+    list<sharing_models.Entity> searchEntities(1: required string domainId, 2: required string userId, 3: required string entityTypeId, 4: required list<sharing_models.SearchCriteria> filters, 5: required i32 offset, 6: required i32 limit) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get a list of shared users given the entity id</p>
     */
-    list<sharing_models.User> getListOfSharedUsers(1: required string entityId, 2: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    list<sharing_models.User> getListOfSharedUsers(1: required string domainId, 2: required string entityId, 3: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get a list of shared groups given the entity id</p>
     */
-    list<sharing_models.UserGroup> getListOfSharedGroups(1: required string entityId, 2: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    list<sharing_models.UserGroup> getListOfSharedGroups(1: required string domainId, 2: required string entityId, 3: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
 
     /**
      <p>API method to create permission type</p>
@@ -177,11 +177,11 @@ service SharingRegistryService {
     /**
      <p>API method to delete permission type</p>
     */
-    bool deletePermissionType(1: required string entityTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    bool deletePermissionType(1: required string domainId, 2: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get permission type</p>
     */
-    sharing_models.PermissionType getPermissionType(1: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
+    sharing_models.PermissionType getPermissionType(1: required string domainId, 2: required string permissionTypeId) throws (1: sharing_models.SharingRegistryException sre)
     /**
      <p>API method to get list of permission types in a given domainId. Results are reverse time sorted based on creation time</p>
     */

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/thrift_models/sharing_models.thrift
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/thrift_models/sharing_models.thrift b/modules/sharing-registry/thrift_models/sharing_models.thrift
index f8c6f31..d4d15c4 100644
--- a/modules/sharing-registry/thrift_models/sharing_models.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_models.thrift
@@ -43,7 +43,7 @@ struct Domain {
 /**
 * <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> : Client provided user id. (The id is not system generated and it is a must to provide this id)</li>
+* <li><b>userId</b> : User id provided by the client</li>
 * <li><b>domainId</b> : Domain id for that user</li>
 * <li><b>userName</b> : User name for the user</li>
 * <li><b>firstName</b> : First name of the user</li>
@@ -84,7 +84,7 @@ enum GroupType {
 
 /**
 *<p>User group is a collection of users.</p>
-* <li>groupId : System generated grouo id. In the current implementation this is of the form domainId:name</li>
+* <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>
 * <li>description : Short description for the group.</li>
@@ -95,7 +95,7 @@ enum GroupType {
 * <li>updatedTime : Will be set by the system</li>
 **/
 struct UserGroup {
- 1: optional string groupId = DO_NOT_SET_AT_CLIENTS_ID,
+ 1: optional string groupId,
  2: optional string domainId,
  3: optional string name,
  4: optional string description,
@@ -118,17 +118,18 @@ enum GroupChildType {
 * <p>System internal data type to map group memberships</p>
 **/
 struct GroupMembership {
-1: optional string parentId,
-2: optional string childId,
-3: optional GroupChildType childType
-4: optional i64 createdTime,
-5: optional i64 updatedTime
+    1: optional string parentId,
+    2: optional string childId,
+    3: optional string domainId,
+    4: optional GroupChildType childType
+    5: optional i64 createdTime,
+    6: optional i64 updatedTime
 }
 
 
 /**
 * <p>client defined entity types</p>
-* <li>entityTypeId : System generated entity type id. In the current implementation it will of the form domainId:name</li>
+* <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>
 * <li>description : Short description for the entity type.</li>
@@ -136,7 +137,7 @@ struct GroupMembership {
 * <li>updatedTime : Will be set by the system</li>
 **/
 struct EntityType {
-    1: optional string entityTypeId = DO_NOT_SET_AT_CLIENTS_ID,
+    1: optional string entityTypeId,
     2: optional string domainId,
     3: optional string name,
     4: optional string description,
@@ -192,14 +193,14 @@ struct SearchCriteria {
 
 /**
 * <p>Entity object which is used to register an entity in the system.</p>
-* <li><b>entityId</b> : Client id provided by the client</li>
+* <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>
 * <li><b>ownerId</b> : Owner id</li>
 * <li>parentEntityId : Parent entity id</li>
 * <li><b>name</b> : Name</li>
 * <li>description : Short description for the entity</li>
-* <li>metadata : Map of optional metadata</li>
+* <li>binaryData : Any information stored in binary format</li>
 * <li>fullText : A string which will be considered for full text search</li>
 * <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>
@@ -212,7 +213,7 @@ struct Entity {
     5: optional string parentEntityId,
     6: optional string name,
     7: optional string description,
-    8: optional map<string,string> metadata,
+    8: optional binary binaryData,
     9: optional string fullText,
     10: optional i64 createdTime,
     11: optional i64 updatedTime
@@ -220,7 +221,7 @@ struct Entity {
 
 /**
 * <p>Object for creating client defined permission type</p>
-* <li>permissionTypeId : System generated permission type id. In the current implementation it will of the form domainId:name</li>
+* <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>
 * <li>description : Short description for the permission type</li>
@@ -228,7 +229,7 @@ struct Entity {
 * <li>updatedTime : Will be set by the system</li>
 **/
 struct PermissionType {
-    1: optional string permissionTypeId = DO_NOT_SET_AT_CLIENTS_ID,
+    1: optional string permissionTypeId,
     2: optional string domainId,
     3: optional string name,
     4: optional string description,
@@ -253,9 +254,10 @@ struct Sharing {
     2: optional string entityId,
     3: optional string groupId,
     4: optional SharingType sharingType,
-    5: optional string inheritedParentId,
-    6: optional i64 createdTime,
-    7: optional i64 updatedTime
+    5: optional string domainId,
+    6: optional string inheritedParentId,
+    7: optional i64 createdTime,
+    8: optional i64 updatedTime
 }
 
 /**


[7/9] airavata git commit: fixing id issues

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java
index e444c43..00dd367 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/utils/DBConstants.java
@@ -29,72 +29,75 @@ public class DBConstants {
     public static int SELECT_MAX_ROWS = 1000;
 
     public static class DomainTable {
-        public static String DOMAIN_ID = "domainId";
-        public static String NAME = "name";
-        public static String DESCRIPTION = "description";
+        public static final String DOMAIN_ID = "domainId";
+        public static final String NAME = "name";
+        public static final String DESCRIPTION = "description";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
     }
 
     public static class UserTable {
-        public static String USER_ID = "userId";
-        public static String DOMAIN_ID = "domainId";
-        public static String USER_NAME = "userName";
+        public static final String USER_ID = "userId";
+        public static final String DOMAIN_ID = "domainId";
+        public static final String USER_NAME = "userName";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
     }
 
     public static class UserGroupTable {
-        public static String GROUP_ID = "groupId";
-        public static String DOMAIN_ID = "domainId";
-        public static String NAME = "name";
-        public static String DESCRIPTION = "description";
-        public static String OWNER_ID = "ownerId";
-        public static String GROUP_TYPE = "groupType";
-        public static String GROUP_CARDINALITY = "groupCardinality";
+        public static final String GROUP_ID = "groupId";
+        public static final String DOMAIN_ID = "domainId";
+        public static final String NAME = "name";
+        public static final String DESCRIPTION = "description";
+        public static final String OWNER_ID = "ownerId";
+        public static final String GROUP_TYPE = "groupType";
+        public static final String GROUP_CARDINALITY = "groupCardinality";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
     }
 
     public static class GroupMembershipTable {
-        public static String PARENT_ID = "parentId";
-        public static String CHILD_ID = "childId";
-        public static String CHILD_TYPE = "childType";
+        public static final String PARENT_ID = "parentId";
+        public static final String CHILD_ID = "childId";
+        public static final String CHILD_TYPE = "childType";
+        public static final String DOMAIN_ID = "domainId";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
     }
 
     public static class EntityTypeTable {
-        public static String ENTITY_TYPE_ID = "entityTypeId";
-        public static String DOMAIN_ID = "domainId";
+        public static final String ENTITY_TYPE_ID = "entityTypeId";
+        public static final String DOMAIN_ID = "domainId";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
     }
 
     public static class PermissionTypeTable {
-        public static String ENTITY_TYPE_ID = "permissionTypeId";
-        public static String DOMAIN_ID = "domainId";
-        public static String NAME = "name";
+        public static final String ENTITY_TYPE_ID = "permissionTypeId";
+        public static final String DOMAIN_ID = "domainId";
+        public static final String NAME = "name";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
     }
 
     public static class EntityTable {
-        public static String ENTITY_ID = "entityId";
-        public static String PARENT_ENTITY_ID = "parentEntityId";
-        public static String ENTITY_TYPE_ID = "entityTypeId";
-        public static String NAME = "name";
-        public static String DESCRIPTION = "description";
-        public static String FULL_TEXT = "fullText";
+        public static final String ENTITY_ID = "entityId";
+        public static final String PARENT_ENTITY_ID = "parentEntityId";
+        public static final String ENTITY_TYPE_ID = "entityTypeId";
+        public static final String NAME = "name";
+        public static final String DESCRIPTION = "description";
+        public static final String FULL_TEXT = "fullText";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";
+        public static final String DOMAIN_ID = "domainId";
     }
 
     public static class SharingTable {
-        public static String PERMISSION_TYPE_ID = "permissionTypeId";
-        public static String ENTITY_ID = "entityId";
-        public static String GROUP_ID = "groupId";
-        public static String INHERITED_PARENT_ID = "inheritedParentId";
+        public static final String DOMAIN_ID = "domainId";
+        public static final String PERMISSION_TYPE_ID = "permissionTypeId";
+        public static final String ENTITY_ID = "entityId";
+        public static final String GROUP_ID = "groupId";
+        public static final String INHERITED_PARENT_ID = "inheritedParentId";
         public static final String SHARING_TYPE = "sharingType";
         public static final String CREATED_TIME = "createdTime";
         public static final String UPDATED_TIME = "updatedTime";

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/server/SharingRegistryServerHandler.java
----------------------------------------------------------------------
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 5757f61..5dc3dbc 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
@@ -21,8 +21,7 @@
 package org.apache.airavata.sharing.registry.server;
 
 import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.sharing.registry.db.entities.GroupMembershipEntityPK;
-import org.apache.airavata.sharing.registry.db.entities.SharingEntityPK;
+import org.apache.airavata.sharing.registry.db.entities.*;
 import org.apache.airavata.sharing.registry.db.repositories.*;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.db.utils.JPAUtils;
@@ -120,7 +119,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
      */
     @Override
     public String registerUser(User user) throws SharingRegistryException, TException {
-        if(userRepository.get(user.userId) != null)
+        UserPK userPK = new UserPK();
+        userPK.setUserId(user.getUserId());
+        userPK.setDomainId(user.domainId);
+        if(userRepository.get(userPK) != null)
             throw new SharingRegistryException("There exist user with given user id");
 
         user.setCreatedTime(System.currentTimeMillis());
@@ -142,13 +144,19 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
 
     @Override
     public boolean updatedUser(User user) throws SharingRegistryException, TException {
-        User oldUser = userRepository.get(user.userId);
+        UserPK userPK = new UserPK();
+        userPK.setUserId(user.userId);
+        userPK.setDomainId(user.domainId);
+        User oldUser = userRepository.get(userPK);
         user.setCreatedTime(oldUser.createdTime);
         user.setUpdatedTime(System.currentTimeMillis());
         user = getUpdatedObject(oldUser, user);
         userRepository.update(user);
 
-        UserGroup userGroup = userGroupRepository.get(user.userId);
+        UserGroupPK userGroupPK = new UserGroupPK();
+        userGroupPK.setGroupId(user.getUserId());
+        userGroupPK.setDomainId(user.domainId);
+        UserGroup userGroup = userGroupRepository.get(userGroupPK);
         userGroup.setName(user.userName);
         userGroup.setDescription("user " + user.userName + " group");
         updateGroup(userGroup);
@@ -156,15 +164,25 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean deleteUser(String userId) throws SharingRegistryException, TException {
-        userRepository.delete(userId);
-        userGroupRepository.delete(userId);
+    public boolean deleteUser(String domainId, String userId) throws SharingRegistryException, TException {
+        UserPK userPK = new UserPK();
+        userPK.setUserId(userId);
+        userPK.setDomainId(domainId);
+        userRepository.delete(userPK);
+
+        UserGroupPK userGroupPK = new UserGroupPK();
+        userGroupPK.setGroupId(userId);
+        userGroupPK.setDomainId(domainId);
+        userGroupRepository.delete(userGroupPK);
         return true;
     }
 
     @Override
-    public User getUser(String userId) throws SharingRegistryException, TException {
-        return userRepository.get(userId);
+    public User getUser(String domainId, String userId) throws SharingRegistryException, TException {
+        UserPK userPK = new UserPK();
+        userPK.setUserId(userId);
+        userPK.setDomainId(domainId);
+        return userRepository.get(userPK);
     }
 
     @Override
@@ -180,7 +198,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
      */
     @Override
     public String createGroup(UserGroup group) throws SharingRegistryException, TException {
-        if(userGroupRepository.get(group.groupId) != null)
+        UserGroupPK userGroupPK = new UserGroupPK();
+        userGroupPK.setGroupId(group.groupId);
+        userGroupPK.setDomainId(group.domainId);
+        if(userGroupRepository.get(userGroupPK) != null)
             throw new SharingRegistryException("There exist group with given group id");
 
         group.setCreatedTime(System.currentTimeMillis());
@@ -192,7 +213,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     @Override
     public boolean updateGroup(UserGroup group) throws SharingRegistryException, TException {
         group.setUpdatedTime(System.currentTimeMillis());
-        UserGroup oldGroup = userGroupRepository.get(group.groupId);
+        UserGroupPK userGroupPK = new UserGroupPK();
+        userGroupPK.setGroupId(group.groupId);
+        userGroupPK.setDomainId(group.domainId);
+        UserGroup oldGroup = userGroupRepository.get(userGroupPK);
         group.setCreatedTime(oldGroup.createdTime);
         group = getUpdatedObject(oldGroup, group);
         userGroupRepository.update(group);
@@ -200,14 +224,20 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean deleteGroup(String groupId) throws SharingRegistryException, TException {
-        userGroupRepository.delete(groupId);
+    public boolean deleteGroup(String domainId, String groupId) throws SharingRegistryException, TException {
+        UserGroupPK userGroupPK = new UserGroupPK();
+        userGroupPK.setGroupId(groupId);
+        userGroupPK.setDomainId(domainId);
+        userGroupRepository.delete(userGroupPK);
         return true;
     }
 
     @Override
-    public UserGroup getGroup(String groupId) throws SharingRegistryException, TException {
-        return userGroupRepository.get(groupId);
+    public UserGroup getGroup(String domainId, String groupId) throws SharingRegistryException, TException {
+        UserGroupPK userGroupPK = new UserGroupPK();
+        userGroupPK.setGroupId(groupId);
+        userGroupPK.setDomainId(domainId);
+        return userGroupRepository.get(userGroupPK);
     }
 
     @Override
@@ -218,12 +248,13 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean addUsersToGroup(List<String> userIds, String groupId) throws SharingRegistryException, TException {
+    public boolean addUsersToGroup(String domainId, List<String> userIds, String groupId) throws SharingRegistryException, TException {
         for(int i=0; i < userIds.size(); i++){
             GroupMembership groupMembership = new GroupMembership();
             groupMembership.setParentId(groupId);
             groupMembership.setChildId(userIds.get(i));
             groupMembership.setChildType(GroupChildType.USER);
+            groupMembership.setDomainId(domainId);
             groupMembership.setCreatedTime(System.currentTimeMillis());
             groupMembership.setUpdatedTime(System.currentTimeMillis());
             groupMembershipRepository.create(groupMembership);
@@ -232,36 +263,40 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean removeUsersFromGroup(List<String> userIds, String groupId) throws SharingRegistryException, TException {
+    public boolean removeUsersFromGroup(String domainId, List<String> userIds, String groupId) throws SharingRegistryException, TException {
         for(int i=0; i < userIds.size(); i++){
-            GroupMembershipEntityPK groupMembershipEntityPK = new GroupMembershipEntityPK();
-            groupMembershipEntityPK.setParentId(groupId);
-            groupMembershipEntityPK.setChildId(userIds.get(i));
-            groupMembershipRepository.delete(groupMembershipEntityPK);
+            GroupMembershipPK groupMembershipPK = new GroupMembershipPK();
+            groupMembershipPK.setParentId(groupId);
+            groupMembershipPK.setChildId(userIds.get(i));
+            groupMembershipPK.setDomainId(domainId);
+            groupMembershipRepository.delete(groupMembershipPK);
         }
         return true;
     }
 
     @Override
-    public List<User> getGroupMembersOfTypeUser(String groupId, int offset, int limit) throws SharingRegistryException, TException {
-        List<User> groupMemberUsers = groupMembershipRepository.getAllChildUsers(groupId);
+    public List<User> getGroupMembersOfTypeUser(String domainId, String groupId, int offset, int limit) throws SharingRegistryException, TException {
+        //TODO limit offset
+        List<User> groupMemberUsers = groupMembershipRepository.getAllChildUsers(domainId, groupId);
         return groupMemberUsers;
     }
 
     @Override
-    public List<UserGroup> getGroupMembersOfTypeGroup(String groupId, int offset, int limit) throws SharingRegistryException, TException {
-        List<UserGroup> groupMemberGroups = groupMembershipRepository.getAllChildGroups(groupId);
+    public List<UserGroup> getGroupMembersOfTypeGroup(String domainId, String groupId, int offset, int limit) throws SharingRegistryException, TException {
+        //TODO limit offset
+        List<UserGroup> groupMemberGroups = groupMembershipRepository.getAllChildGroups(domainId, groupId);
         return groupMemberGroups;
     }
 
     @Override
-    public boolean addChildGroupsToParentGroup(List<String> childIds, String groupId) throws SharingRegistryException, TException {
+    public boolean addChildGroupsToParentGroup(String domainId, List<String> childIds, String groupId) throws SharingRegistryException, TException {
         for(String childId : childIds) {
             //Todo check for cyclic dependencies
             GroupMembership groupMembership = new GroupMembership();
             groupMembership.setParentId(groupId);
             groupMembership.setChildId(childId);
             groupMembership.setChildType(GroupChildType.GROUP);
+            groupMembership.setDomainId(domainId);
             groupMembership.setCreatedTime(System.currentTimeMillis());
             groupMembership.setUpdatedTime(System.currentTimeMillis());
             groupMembershipRepository.create(groupMembership);
@@ -270,11 +305,12 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean removeChildGroupFromParentGroup(String childId, String groupId) throws SharingRegistryException, TException {
-        GroupMembershipEntityPK groupMembershipEntityPK = new GroupMembershipEntityPK();
-        groupMembershipEntityPK.setParentId(groupId);
-        groupMembershipEntityPK.setChildId(childId);
-        groupMembershipRepository.delete(groupMembershipEntityPK);
+    public boolean removeChildGroupFromParentGroup(String domainId, String childId, String groupId) throws SharingRegistryException, TException {
+        GroupMembershipPK groupMembershipPK = new GroupMembershipPK();
+        groupMembershipPK.setParentId(groupId);
+        groupMembershipPK.setChildId(childId);
+        groupMembershipPK.setDomainId(domainId);
+        groupMembershipRepository.delete(groupMembershipPK);
         return true;
     }
 
@@ -284,7 +320,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
      */
     @Override
     public String createEntityType(EntityType entityType) throws SharingRegistryException, TException {
-        if(entityTypeRepository.get(entityType.entityTypeId) != null)
+        EntityTypePK entityTypePK = new EntityTypePK();
+        entityTypePK.setDomainId(entityType.domainId);
+        entityTypePK.setEntityTypeId(entityType.entityTypeId);
+        if(entityTypeRepository.get(entityTypePK) != null)
             throw new SharingRegistryException("There exist EntityType with given EntityType id");
 
         entityType.setCreatedTime(System.currentTimeMillis());
@@ -296,7 +335,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     @Override
     public boolean updateEntityType(EntityType entityType) throws SharingRegistryException, TException {
         entityType.setUpdatedTime(System.currentTimeMillis());
-        EntityType oldEntityType = entityTypeRepository.get(entityType.entityTypeId);
+        EntityTypePK entityTypePK = new EntityTypePK();
+        entityTypePK.setDomainId(entityType.domainId);
+        entityTypePK.setEntityTypeId(entityType.entityTypeId);
+        EntityType oldEntityType = entityTypeRepository.get(entityTypePK);
         entityType.setCreatedTime(oldEntityType.createdTime);
         entityType = getUpdatedObject(oldEntityType, entityType);
         entityTypeRepository.update(entityType);
@@ -304,14 +346,20 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean deleteEntityType(String entityTypeId) throws SharingRegistryException, TException {
-        entityTypeRepository.delete(entityTypeId);
+    public boolean deleteEntityType(String domainId, String entityTypeId) throws SharingRegistryException, TException {
+        EntityTypePK entityTypePK = new EntityTypePK();
+        entityTypePK.setDomainId(domainId);
+        entityTypePK.setEntityTypeId(entityTypeId);
+        entityTypeRepository.delete(entityTypePK);
         return true;
     }
 
     @Override
-    public EntityType getEntityType(String entityTypeId) throws SharingRegistryException, TException {
-        return entityTypeRepository.get(entityTypeId);
+    public EntityType getEntityType(String domainId, String entityTypeId) throws SharingRegistryException, TException {
+        EntityTypePK entityTypePK = new EntityTypePK();
+        entityTypePK.setDomainId(domainId);
+        entityTypePK.setEntityTypeId(entityTypeId);
+        return entityTypeRepository.get(entityTypePK);
     }
 
     @Override
@@ -327,7 +375,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
      */
     @Override
     public String createPermissionType(PermissionType permissionType) throws SharingRegistryException, TException {
-        if(permissionTypeRepository.get(permissionType.permissionTypeId) != null)
+        PermissionTypePK permissionTypePK =  new PermissionTypePK();
+        permissionTypePK.setDomainId(permissionType.domainId);
+        permissionTypePK.setPermissionTypeId(permissionType.permissionTypeId);
+        if(permissionTypeRepository.get(permissionTypePK) != null)
             throw new SharingRegistryException("There exist PermissionType with given PermissionType id");
         permissionType.setCreatedTime(System.currentTimeMillis());
         permissionType.setUpdatedTime(System.currentTimeMillis());
@@ -338,21 +389,30 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     @Override
     public boolean updatePermissionType(PermissionType permissionType) throws SharingRegistryException, TException {
         permissionType.setUpdatedTime(System.currentTimeMillis());
-        PermissionType oldPermissionType = permissionTypeRepository.get(permissionType.permissionTypeId);
+        PermissionTypePK permissionTypePK =  new PermissionTypePK();
+        permissionTypePK.setDomainId(permissionType.domainId);
+        permissionTypePK.setPermissionTypeId(permissionType.permissionTypeId);
+        PermissionType oldPermissionType = permissionTypeRepository.get(permissionTypePK);
         permissionType = getUpdatedObject(oldPermissionType, permissionType);
         permissionTypeRepository.update(permissionType);
         return true;
     }
 
     @Override
-    public boolean deletePermissionType(String entityTypeId) throws SharingRegistryException, TException {
-        permissionTypeRepository.delete(entityTypeId);
+    public boolean deletePermissionType(String domainId, String permissionTypeId) throws SharingRegistryException, TException {
+        PermissionTypePK permissionTypePK =  new PermissionTypePK();
+        permissionTypePK.setDomainId(domainId);
+        permissionTypePK.setPermissionTypeId(permissionTypeId);
+        permissionTypeRepository.delete(permissionTypePK);
         return true;
     }
 
     @Override
-    public PermissionType getPermissionType(String permissionTypeId) throws SharingRegistryException, TException {
-        return permissionTypeRepository.get(permissionTypeId);
+    public PermissionType getPermissionType(String domainId, String permissionTypeId) throws SharingRegistryException, TException {
+        PermissionTypePK permissionTypePK =  new PermissionTypePK();
+        permissionTypePK.setDomainId(domainId);
+        permissionTypePK.setPermissionTypeId(permissionTypeId);
+        return permissionTypeRepository.get(permissionTypePK);
     }
 
     @Override
@@ -368,10 +428,17 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
      */
     @Override
     public String registerEntity(Entity entity) throws SharingRegistryException, TException {
-        if(entityRepository.get(entity.entityId) != null)
+        EntityPK entityPK = new EntityPK();
+        entityPK.setDomainId(entity.domainId);
+        entityPK.setEntityId(entity.entityId);
+        if(entityRepository.get(entityPK) != null)
             throw new SharingRegistryException("There exist Entity with given Entity id");
 
-        if(!userRepository.isExists(entity.getOwnerId())){
+        UserPK userPK = new UserPK();
+        userPK.setDomainId(entity.domainId);
+        userPK.setUserId(entity.ownerId);
+        if(!userRepository.isExists(userPK)){
+            //Todo this is for Airavata easy integration. Proper thing is to throw an exception here
             User user = new User();
             user.setUserId(entity.getOwnerId());
             user.setDomainId(entity.domainId);
@@ -391,6 +458,7 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
         newSharing.setGroupId(entity.ownerId);
         newSharing.setSharingType(SharingType.DIRECT_CASCADING);
         newSharing.setInheritedParentId(entity.entityId);
+        newSharing.setDomainId(entity.domainId);
         newSharing.setCreatedTime(System.currentTimeMillis());
         newSharing.setUpdatedTime(System.currentTimeMillis());
 
@@ -398,7 +466,7 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
 
         //creating records for inherited permissions
         if(entity.getParentEntityId() != null && entity.getParentEntityId() != ""){
-            List<Sharing> sharings = sharingRepository.getCascadingPermissionsForEntity(entity.parentEntityId);
+            List<Sharing> sharings = sharingRepository.getCascadingPermissionsForEntity(entity.domainId, entity.parentEntityId);
             for(Sharing sharing : sharings){
                 newSharing = new Sharing();
                 newSharing.setPermissionTypeId(sharing.permissionTypeId);
@@ -406,6 +474,7 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
                 newSharing.setGroupId(sharing.groupId);
                 newSharing.setInheritedParentId(sharing.inheritedParentId);
                 newSharing.setSharingType(SharingType.INDIRECT_CASCADING);
+                newSharing.setDomainId(entity.domainId);
                 newSharing.setCreatedTime(System.currentTimeMillis());
                 newSharing.setUpdatedTime(System.currentTimeMillis());
 
@@ -420,7 +489,10 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     public boolean updateEntity(Entity entity) throws SharingRegistryException, TException {
         //TODO Check for permission changes
         entity.setUpdatedTime(System.currentTimeMillis());
-        Entity oldEntity = entityRepository.get(entity.getEntityId());
+        EntityPK entityPK = new EntityPK();
+        entityPK.setDomainId(entity.domainId);
+        entityPK.setEntityId(entity.entityId);
+        Entity oldEntity = entityRepository.get(entityPK);
         entity.setCreatedTime(oldEntity.createdTime);
         entity = getUpdatedObject(oldEntity, entity);
         entityRepository.update(entity);
@@ -428,34 +500,40 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     }
 
     @Override
-    public boolean deleteEntity(String entityId) throws SharingRegistryException, TException {
+    public boolean deleteEntity(String domainId, String entityId) throws SharingRegistryException, TException {
         //TODO Check for permission changes
-        entityRepository.delete(entityId);
+        EntityPK entityPK = new EntityPK();
+        entityPK.setDomainId(domainId);
+        entityPK.setEntityId(entityId);
+        entityRepository.delete(entityPK);
         return true;
     }
 
     @Override
-    public Entity getEntity(String entityId) throws SharingRegistryException, TException {
-        return entityRepository.get(entityId);
+    public Entity getEntity(String domainId, String entityId) throws SharingRegistryException, TException {
+        EntityPK entityPK = new EntityPK();
+        entityPK.setDomainId(domainId);
+        entityPK.setEntityId(entityId);
+        return entityRepository.get(entityPK);
     }
 
     @Override
-    public List<Entity> searchEntities(String userId, String entityTypeId, List<SearchCriteria> filters,
+    public List<Entity> searchEntities(String domainId, String userId, String entityTypeId, List<SearchCriteria> filters,
                                        int offset, int limit) throws SharingRegistryException, TException {
         List<String> groupIds = new ArrayList<>();
         groupIds.add(userId);
-        groupMembershipRepository.getAllParentMembershipsForChild(userId).stream().forEach(gm->groupIds.add(gm.parentId));
-        return entityRepository.searchEntities(groupIds, entityTypeId, filters, offset, limit);
+        groupMembershipRepository.getAllParentMembershipsForChild(domainId, userId).stream().forEach(gm->groupIds.add(gm.parentId));
+        return entityRepository.searchEntities(domainId, groupIds, entityTypeId, filters, offset, limit);
     }
 
     @Override
-    public List<User> getListOfSharedUsers(String entityId, String permissionTypeId) throws SharingRegistryException, TException {
-        return userRepository.getAccessibleUsers(entityId, permissionTypeId);
+    public List<User> getListOfSharedUsers(String domainId, String entityId, String permissionTypeId) throws SharingRegistryException, TException {
+        return userRepository.getAccessibleUsers(domainId, entityId, permissionTypeId);
     }
 
     @Override
-    public List<UserGroup> getListOfSharedGroups(String entityId, String permissionTypeId) throws SharingRegistryException, TException {
-        return userGroupRepository.getAccessibleGroups(entityId, permissionTypeId);
+    public List<UserGroup> getListOfSharedGroups(String domainId, String entityId, String permissionTypeId) throws SharingRegistryException, TException {
+        return userGroupRepository.getAccessibleGroups(domainId, entityId, permissionTypeId);
     }
 
     /**
@@ -489,6 +567,7 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
             sharing.setEntityId(entityId);
             sharing.setGroupId(userId);
             sharing.setInheritedParentId(entityId);
+            sharing.setDomainId(domainId);
             if(cascadePermission) {
                 sharing.setSharingType(SharingType.DIRECT_CASCADING);
             }else {
@@ -514,6 +593,7 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
                     sharing.setInheritedParentId(entityId);
                     sharing.setSharingType(SharingType.INDIRECT_CASCADING);
                     sharing.setInheritedParentId(entityId);
+                    sharing.setDomainId(domainId);
                     sharing.setCreatedTime(System.currentTimeMillis());
                     sharing.setUpdatedTime(System.currentTimeMillis());
                     sharingRepository.create(sharing);
@@ -538,11 +618,11 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
     @Override
     public boolean userHasAccess(String domainId, String userId, String entityId, String permissionTypeId) throws SharingRegistryException, TException {
         //check whether the user has permission directly or indirectly
-        List<GroupMembership> parentMemberships = groupMembershipRepository.getAllParentMembershipsForChild(userId);
+        List<GroupMembership> parentMemberships = groupMembershipRepository.getAllParentMembershipsForChild(domainId, userId);
         List<String> groupIds = new ArrayList<>();
         parentMemberships.stream().forEach(pm->groupIds.add(pm.parentId));
         groupIds.add(userId);
-        return sharingRepository.hasAccess(entityId, groupIds, Arrays.asList(permissionTypeId,
+        return sharingRepository.hasAccess(domainId, entityId, groupIds, Arrays.asList(permissionTypeId,
                 permissionTypeRepository.getGlobalPermissionTypeIdForDomain(domainId)));
     }
 
@@ -553,28 +633,30 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
 
         //revoking permission for the entity
         for(String groupId : groupOrUserList){
-            SharingEntityPK sharingEntityPK = new SharingEntityPK();
-            sharingEntityPK.setEntityId(entityId);
-            sharingEntityPK.setGroupId(groupId);
-            sharingEntityPK.setPermissionTypeId(permissionTypeId);
-            sharingEntityPK.setInheritedParentId(entityId);
-
-            sharingRepository.delete(sharingEntityPK);
+            SharingPK sharingPK = new SharingPK();
+            sharingPK.setEntityId(entityId);
+            sharingPK.setGroupId(groupId);
+            sharingPK.setPermissionTypeId(permissionTypeId);
+            sharingPK.setInheritedParentId(entityId);
+            sharingPK.setDomainId(domainId);
+
+            sharingRepository.delete(sharingPK);
         }
 
         //revoking permission from inheritance
         List<Sharing> temp = new ArrayList<>();
-        sharingRepository.getIndirectSharedChildren(entityId, permissionTypeId).stream().forEach(s->temp.add(s));
+        sharingRepository.getIndirectSharedChildren(domainId, entityId, permissionTypeId).stream().forEach(s->temp.add(s));
         for(Sharing sharing : temp){
             String childEntityId = sharing.entityId;
             for(String groupId : groupOrUserList){
-                SharingEntityPK sharingEntityPK = new SharingEntityPK();
-                sharingEntityPK.setEntityId(childEntityId);
-                sharingEntityPK.setGroupId(groupId);
-                sharingEntityPK.setPermissionTypeId(permissionTypeId);
-                sharingEntityPK.setInheritedParentId(entityId);
-
-                sharingRepository.delete(sharingEntityPK);
+                SharingPK sharingPK = new SharingPK();
+                sharingPK.setEntityId(childEntityId);
+                sharingPK.setGroupId(groupId);
+                sharingPK.setPermissionTypeId(permissionTypeId);
+                sharingPK.setInheritedParentId(entityId);
+                sharingPK.setDomainId(domainId);
+
+                sharingRepository.delete(sharingPK);
             }
         }
         return true;

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
index 7b08528..a9f808c 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
+++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml
@@ -9,7 +9,7 @@
         <class>org.apache.airavata.sharing.registry.db.entities.GroupMembershipEntity</class>
         <class>org.apache.airavata.sharing.registry.db.entities.PermissionTypeEntity</class>
         <class>org.apache.airavata.sharing.registry.db.entities.SharingEntity</class>
-        <class>org.apache.airavata.sharing.registry.db.entities.SharingUserEntity</class>
+        <class>org.apache.airavata.sharing.registry.db.entities.UserEntity</class>
         <class>org.apache.airavata.sharing.registry.db.entities.UserGroupEntity</class>
     </persistence-unit>
 </persistence>

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
index e1937fd..0b5167a 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
+++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-derby.sql
@@ -38,7 +38,7 @@ CREATE TABLE SHARING_USER (
   ICON BLOB,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (USER_ID),
+  PRIMARY KEY (USER_ID, DOMAIN_ID),
   FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
@@ -52,21 +52,21 @@ CREATE TABLE USER_GROUP (
   GROUP_CARDINALITY VARCHAR(255) NOT NULL,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (GROUP_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (OWNER_ID) REFERENCES SHARING_USER(USER_ID) ON DELETE CASCADE ON UPDATE NO ACTION
+  PRIMARY KEY (GROUP_ID, DOMAIN_ID),
+  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 
 CREATE TABLE GROUP_MEMBERSHIP (
   PARENT_ID VARCHAR(255) NOT NULL,
   CHILD_ID VARCHAR(255) NOT NULL,
+  DOMAIN_ID VARCHAR(255) NOT NULL,
   CHILD_TYPE VARCHAR(255) NOT NULL,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PARENT_ID, CHILD_ID),
-  FOREIGN KEY (PARENT_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (CHILD_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE NO ACTION
+  PRIMARY KEY (PARENT_ID, CHILD_ID, DOMAIN_ID),
+  FOREIGN KEY (PARENT_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (CHILD_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE ENTITY_TYPE (
@@ -76,7 +76,7 @@ CREATE TABLE ENTITY_TYPE (
   DESCRIPTION VARCHAR(255),
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (ENTITY_TYPE_ID),
+  PRIMARY KEY (ENTITY_TYPE_ID, DOMAIN_ID),
   FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
@@ -87,7 +87,7 @@ CREATE TABLE PERMISSION_TYPE (
   DESCRIPTION VARCHAR(255),
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PERMISSION_TYPE_ID),
+  PRIMARY KEY (PERMISSION_TYPE_ID, DOMAIN_ID),
   FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
@@ -99,38 +99,31 @@ CREATE TABLE ENTITY (
   PARENT_ENTITY_ID VARCHAR(255),
   NAME VARCHAR(255) NOT NULL,
   DESCRIPTION VARCHAR(255),
+  BINARY_DATA BLOB,
   FULL_TEXT CLOB,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (ENTITY_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (ENTITY_TYPE_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (OWNER_ID) REFERENCES SHARING_USER(USER_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (PARENT_ENTITY_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE NO ACTION
+  PRIMARY KEY (ENTITY_ID, DOMAIN_ID),
+  FOREIGN KEY (ENTITY_TYPE_ID, DOMAIN_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (PARENT_ENTITY_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 -- ALTER TABLE ENTITY ADD FULLTEXT FULL_TEXT_INDEX(FULL_TEXT);
 
-CREATE TABLE ENTITY_METADATA (
-  ENTITY_ID VARCHAR (255) NOT NULL,
-  META_KEY VARCHAR (255) NOT NULL,
-  META_VALUE VARCHAR (255) NOT NULL,
-  PRIMARY KEY (ENTITY_ID, META_KEY),
-  FOREIGN KEY (ENTITY_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE NO ACTION
-);
-
 CREATE TABLE SHARING (
   PERMISSION_TYPE_ID VARCHAR(255) NOT NULL,
   ENTITY_ID VARCHAR(255) NOT NULL,
+  DOMAIN_ID VARCHAR (255) NOT NULL,
   GROUP_ID VARCHAR(255) NOT NULL,
   SHARING_TYPE VARCHAR(255) NOT NULL,
   INHERITED_PARENT_ID VARCHAR(255),
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PERMISSION_TYPE_ID, ENTITY_ID, GROUP_ID, INHERITED_PARENT_ID),
-  FOREIGN KEY (PERMISSION_TYPE_ID) REFERENCES PERMISSION_TYPE(PERMISSION_TYPE_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (INHERITED_PARENT_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
-  FOREIGN KEY (GROUP_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE NO ACTION
+  PRIMARY KEY (PERMISSION_TYPE_ID, ENTITY_ID, GROUP_ID, DOMAIN_ID, INHERITED_PARENT_ID),
+  FOREIGN KEY (PERMISSION_TYPE_ID, DOMAIN_ID) REFERENCES PERMISSION_TYPE(PERMISSION_TYPE_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (INHERITED_PARENT_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (GROUP_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE CONFIGURATION

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
index 675fad3..ce7a9bf 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
+++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/sharing-registry-mysql.sql
@@ -38,8 +38,8 @@ CREATE TABLE SHARING_USER (
   ICON BLOB,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (USER_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (USER_ID, DOMAIN_ID),
+  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE USER_GROUP (
@@ -52,21 +52,21 @@ CREATE TABLE USER_GROUP (
   GROUP_CARDINALITY VARCHAR(255) NOT NULL,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (GROUP_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (OWNER_ID) REFERENCES SHARING_USER(USER_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (GROUP_ID, DOMAIN_ID),
+  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 
 CREATE TABLE GROUP_MEMBERSHIP (
   PARENT_ID VARCHAR(255) NOT NULL,
   CHILD_ID VARCHAR(255) NOT NULL,
+  DOMAIN_ID VARCHAR(255) NOT NULL,
   CHILD_TYPE VARCHAR(255) NOT NULL,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PARENT_ID, CHILD_ID),
-  FOREIGN KEY (PARENT_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (CHILD_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (PARENT_ID, CHILD_ID, DOMAIN_ID),
+  FOREIGN KEY (PARENT_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (CHILD_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE ENTITY_TYPE (
@@ -76,8 +76,8 @@ CREATE TABLE ENTITY_TYPE (
   DESCRIPTION VARCHAR(255),
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (ENTITY_TYPE_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (ENTITY_TYPE_ID, DOMAIN_ID),
+  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE PERMISSION_TYPE (
@@ -87,8 +87,8 @@ CREATE TABLE PERMISSION_TYPE (
   DESCRIPTION VARCHAR(255),
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PERMISSION_TYPE_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (PERMISSION_TYPE_ID, DOMAIN_ID),
+  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE ENTITY (
@@ -99,38 +99,31 @@ CREATE TABLE ENTITY (
   PARENT_ENTITY_ID VARCHAR(255),
   NAME VARCHAR(255) NOT NULL,
   DESCRIPTION VARCHAR(255),
+  BINARY_DATA BLOB,
   FULL_TEXT TEXT,
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (ENTITY_ID),
-  FOREIGN KEY (DOMAIN_ID) REFERENCES DOMAIN(DOMAIN_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (ENTITY_TYPE_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (OWNER_ID) REFERENCES SHARING_USER(USER_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (PARENT_ENTITY_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (ENTITY_ID, DOMAIN_ID),
+  FOREIGN KEY (ENTITY_TYPE_ID, DOMAIN_ID) REFERENCES ENTITY_TYPE(ENTITY_TYPE_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (OWNER_ID, DOMAIN_ID) REFERENCES SHARING_USER(USER_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (PARENT_ENTITY_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 ALTER TABLE ENTITY ADD FULLTEXT FULL_TEXT_INDEX(FULL_TEXT);
 
-CREATE TABLE ENTITY_METADATA (
-  ENTITY_ID VARCHAR (255) NOT NULL,
-  META_KEY VARCHAR (255) NOT NULL,
-  META_VALUE VARCHAR (255) NOT NULL,
-  PRIMARY KEY (ENTITY_ID, META_KEY),
-  FOREIGN KEY (ENTITY_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE CASCADE
-);
-
 CREATE TABLE SHARING (
   PERMISSION_TYPE_ID VARCHAR(255) NOT NULL,
   ENTITY_ID VARCHAR(255) NOT NULL,
+  DOMAIN_ID VARCHAR (255) NOT NULL,
   GROUP_ID VARCHAR(255) NOT NULL,
   SHARING_TYPE VARCHAR(255) NOT NULL,
   INHERITED_PARENT_ID VARCHAR(255),
   CREATED_TIME BIGINT NOT NULL,
   UPDATED_TIME BIGINT NOT NULL,
-  PRIMARY KEY (PERMISSION_TYPE_ID, ENTITY_ID, GROUP_ID, INHERITED_PARENT_ID),
-  FOREIGN KEY (PERMISSION_TYPE_ID) REFERENCES PERMISSION_TYPE(PERMISSION_TYPE_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (INHERITED_PARENT_ID) REFERENCES ENTITY(ENTITY_ID) ON DELETE CASCADE ON UPDATE CASCADE,
-  FOREIGN KEY (GROUP_ID) REFERENCES USER_GROUP(GROUP_ID) ON DELETE CASCADE ON UPDATE CASCADE
+  PRIMARY KEY (PERMISSION_TYPE_ID, ENTITY_ID, GROUP_ID, DOMAIN_ID, INHERITED_PARENT_ID),
+  FOREIGN KEY (PERMISSION_TYPE_ID, DOMAIN_ID) REFERENCES PERMISSION_TYPE(PERMISSION_TYPE_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (INHERITED_PARENT_ID, DOMAIN_ID) REFERENCES ENTITY(ENTITY_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION,
+  FOREIGN KEY (GROUP_ID, DOMAIN_ID) REFERENCES USER_GROUP(GROUP_ID, DOMAIN_ID) ON DELETE CASCADE ON UPDATE NO ACTION
 );
 
 CREATE TABLE CONFIGURATION

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
index df0dcba..499fc88 100644
--- a/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
+++ b/modules/sharing-registry/sharing-registry-server/src/test/java/org/apache/airavata/sharing/registry/SharingRegistryServerHandlerTest.java
@@ -34,8 +34,6 @@ import org.slf4j.LoggerFactory;
 import java.sql.SQLException;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
 
 public class SharingRegistryServerHandlerTest {
     private final static Logger logger = LoggerFactory.getLogger(SharingRegistryServerHandlerTest.class);
@@ -130,12 +128,12 @@ public class SharingRegistryServerHandlerTest {
 
         Assert.assertNotNull(sharingRegistryServerHandler.createGroup(userGroup2));
 
-        sharingRegistryServerHandler.addUsersToGroup(Arrays.asList(userId1), groupId1);
-        sharingRegistryServerHandler.addUsersToGroup(Arrays.asList(userId2, userId3), groupId2);
-        sharingRegistryServerHandler.addChildGroupsToParentGroup(Arrays.asList(groupId2), groupId1);
+        sharingRegistryServerHandler.addUsersToGroup(domainId, Arrays.asList(userId1), groupId1);
+        sharingRegistryServerHandler.addUsersToGroup(domainId, Arrays.asList(userId2, userId3), groupId2);
+        sharingRegistryServerHandler.addChildGroupsToParentGroup(domainId, Arrays.asList(groupId2), groupId1);
 
-        Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeGroup(groupId1, 0, 10).size() == 1);
-        Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeUser(groupId2, 0, 10).size() == 2);
+        Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeGroup(domainId, groupId1, 0, 10).size() == 1);
+        Assert.assertTrue(sharingRegistryServerHandler.getGroupMembersOfTypeUser(domainId, groupId2, 0, 10).size() == 2);
 
 
         //Creating permission types
@@ -203,9 +201,6 @@ public class SharingRegistryServerHandlerTest {
         entity1.setOwnerId(userId1);
         entity1.setName("Project name 1");
         entity1.setDescription("Project description");
-        Map<String, String> metadataMap = new HashMap<>();
-        metadataMap.put("key", "val");
-        entity1.setMetadata(metadataMap);
         entity1.setFullText("Project name project description");
         entity1.setCreatedTime(System.currentTimeMillis());
         entity1.setUpdatedTime(System.currentTimeMillis());
@@ -221,9 +216,6 @@ public class SharingRegistryServerHandlerTest {
         entity2.setName("Experiment name");
         entity2.setDescription("Experiment description");
         entity2.setParentEntityId(entityId1);
-        metadataMap = new HashMap<>();
-        metadataMap.put("key", "val");
-        entity2.setMetadata(metadataMap);
         entity2.setFullText("Project name project description");
         entity2.setCreatedTime(System.currentTimeMillis());
         entity2.setUpdatedTime(System.currentTimeMillis());
@@ -239,9 +231,6 @@ public class SharingRegistryServerHandlerTest {
         entity3.setName("Experiment name");
         entity3.setDescription("Experiment description");
         entity3.setParentEntityId(entityId1);
-        metadataMap = new HashMap<>();
-        metadataMap.put("key", "val");
-        entity3.setMetadata(metadataMap);
         entity3.setFullText("Project name project description");
         entity3.setCreatedTime(System.currentTimeMillis());
         entity3.setUpdatedTime(System.currentTimeMillis());
@@ -260,9 +249,6 @@ public class SharingRegistryServerHandlerTest {
         entity4.setName("Input name");
         entity4.setDescription("Input file description");
         entity4.setParentEntityId(entityId3);
-        metadataMap = new HashMap<>();
-        metadataMap.put("key", "val");
-        entity4.setMetadata(metadataMap);
         entity4.setFullText("Input File");
         entity4.setCreatedTime(System.currentTimeMillis());
         entity4.setUpdatedTime(System.currentTimeMillis());
@@ -281,10 +267,10 @@ public class SharingRegistryServerHandlerTest {
         searchCriteria.setValue("Input");
         searchCriteria.setSearchField(EntitySearchField.NAME);
         filters.add(searchCriteria);
-        Assert.assertTrue(sharingRegistryServerHandler.searchEntities(userId1, entityTypeId3, filters, 0, -1).size() > 0);
+        Assert.assertTrue(sharingRegistryServerHandler.searchEntities(domainId, userId1, entityTypeId3, filters, 0, -1).size() > 0);
 
-        Assert.assertNotNull(sharingRegistryServerHandler.getListOfSharedUsers(entityId1, permissionTypeId1));
-        Assert.assertNotNull(sharingRegistryServerHandler.getListOfSharedGroups(entityId1, permissionTypeId1));
+        Assert.assertNotNull(sharingRegistryServerHandler.getListOfSharedUsers(domainId, entityId1, permissionTypeId1));
+        Assert.assertNotNull(sharingRegistryServerHandler.getListOfSharedGroups(domainId, entityId1, permissionTypeId1));
 
 //        sharingRegistryServerHandler.revokeEntitySharingFromUsers(entityId1, Arrays.asList(userId2), permissionTypeId1);
 //        sharingRegistryServerHandler.revokeEntitySharingFromGroups(entityId3, Arrays.asList(groupId2), permissionTypeId1);

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
----------------------------------------------------------------------
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 f7ea565..4d1f544 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
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>, java.io.Serializable, Cloneable, Comparable<Domain> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Domain");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
----------------------------------------------------------------------
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 81aaf90..f1ae4b8 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
@@ -36,20 +36,20 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
  * <p>Entity object which is used to register an entity in the system.</p>
- * <li><b>entityId</b> : Client id provided by the client</li>
+ * <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>
  * <li><b>ownerId</b> : Owner id</li>
  * <li>parentEntityId : Parent entity id</li>
  * <li><b>name</b> : Name</li>
  * <li>description : Short description for the entity</li>
- * <li>metadata : Map of optional metadata</li>
+ * <li>binaryData : Any information stored in binary format</li>
  * <li>fullText : A string which will be considered for full text search</li>
  * <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>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>, java.io.Serializable, Cloneable, Comparable<Entity> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Entity");
 
@@ -60,7 +60,7 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
   private static final org.apache.thrift.protocol.TField PARENT_ENTITY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("parentEntityId", org.apache.thrift.protocol.TType.STRING, (short)5);
   private static final org.apache.thrift.protocol.TField NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("name", org.apache.thrift.protocol.TType.STRING, (short)6);
   private static final org.apache.thrift.protocol.TField DESCRIPTION_FIELD_DESC = new org.apache.thrift.protocol.TField("description", org.apache.thrift.protocol.TType.STRING, (short)7);
-  private static final org.apache.thrift.protocol.TField METADATA_FIELD_DESC = new org.apache.thrift.protocol.TField("metadata", org.apache.thrift.protocol.TType.MAP, (short)8);
+  private static final org.apache.thrift.protocol.TField BINARY_DATA_FIELD_DESC = new org.apache.thrift.protocol.TField("binaryData", org.apache.thrift.protocol.TType.STRING, (short)8);
   private static final org.apache.thrift.protocol.TField FULL_TEXT_FIELD_DESC = new org.apache.thrift.protocol.TField("fullText", org.apache.thrift.protocol.TType.STRING, (short)9);
   private static final org.apache.thrift.protocol.TField CREATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("createdTime", org.apache.thrift.protocol.TType.I64, (short)10);
   private static final org.apache.thrift.protocol.TField UPDATED_TIME_FIELD_DESC = new org.apache.thrift.protocol.TField("updatedTime", org.apache.thrift.protocol.TType.I64, (short)11);
@@ -78,7 +78,7 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
   public String parentEntityId; // optional
   public String name; // optional
   public String description; // optional
-  public Map<String,String> metadata; // optional
+  public ByteBuffer binaryData; // optional
   public String fullText; // optional
   public long createdTime; // optional
   public long updatedTime; // optional
@@ -92,7 +92,7 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     PARENT_ENTITY_ID((short)5, "parentEntityId"),
     NAME((short)6, "name"),
     DESCRIPTION((short)7, "description"),
-    METADATA((short)8, "metadata"),
+    BINARY_DATA((short)8, "binaryData"),
     FULL_TEXT((short)9, "fullText"),
     CREATED_TIME((short)10, "createdTime"),
     UPDATED_TIME((short)11, "updatedTime");
@@ -124,8 +124,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
           return NAME;
         case 7: // DESCRIPTION
           return DESCRIPTION;
-        case 8: // METADATA
-          return METADATA;
+        case 8: // BINARY_DATA
+          return BINARY_DATA;
         case 9: // FULL_TEXT
           return FULL_TEXT;
         case 10: // CREATED_TIME
@@ -175,7 +175,7 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
   private static final int __CREATEDTIME_ISSET_ID = 0;
   private static final int __UPDATEDTIME_ISSET_ID = 1;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.ENTITY_ID,_Fields.DOMAIN_ID,_Fields.ENTITY_TYPE_ID,_Fields.OWNER_ID,_Fields.PARENT_ENTITY_ID,_Fields.NAME,_Fields.DESCRIPTION,_Fields.METADATA,_Fields.FULL_TEXT,_Fields.CREATED_TIME,_Fields.UPDATED_TIME};
+  private static final _Fields optionals[] = {_Fields.ENTITY_ID,_Fields.DOMAIN_ID,_Fields.ENTITY_TYPE_ID,_Fields.OWNER_ID,_Fields.PARENT_ENTITY_ID,_Fields.NAME,_Fields.DESCRIPTION,_Fields.BINARY_DATA,_Fields.FULL_TEXT,_Fields.CREATED_TIME,_Fields.UPDATED_TIME};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -193,10 +193,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.DESCRIPTION, new org.apache.thrift.meta_data.FieldMetaData("description", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.METADATA, new org.apache.thrift.meta_data.FieldMetaData("metadata", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
-            new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))));
+    tmpMap.put(_Fields.BINARY_DATA, new org.apache.thrift.meta_data.FieldMetaData("binaryData", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING        , true)));
     tmpMap.put(_Fields.FULL_TEXT, new org.apache.thrift.meta_data.FieldMetaData("fullText", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.CREATED_TIME, new org.apache.thrift.meta_data.FieldMetaData("createdTime", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
@@ -236,9 +234,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     if (other.isSetDescription()) {
       this.description = other.description;
     }
-    if (other.isSetMetadata()) {
-      Map<String,String> __this__metadata = new HashMap<String,String>(other.metadata);
-      this.metadata = __this__metadata;
+    if (other.isSetBinaryData()) {
+      this.binaryData = org.apache.thrift.TBaseHelper.copyBinary(other.binaryData);
     }
     if (other.isSetFullText()) {
       this.fullText = other.fullText;
@@ -260,7 +257,7 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     this.parentEntityId = null;
     this.name = null;
     this.description = null;
-    this.metadata = null;
+    this.binaryData = null;
     this.fullText = null;
     setCreatedTimeIsSet(false);
     this.createdTime = 0;
@@ -436,38 +433,37 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     }
   }
 
-  public int getMetadataSize() {
-    return (this.metadata == null) ? 0 : this.metadata.size();
+  public byte[] getBinaryData() {
+    setBinaryData(org.apache.thrift.TBaseHelper.rightSize(binaryData));
+    return binaryData == null ? null : binaryData.array();
   }
 
-  public void putToMetadata(String key, String val) {
-    if (this.metadata == null) {
-      this.metadata = new HashMap<String,String>();
-    }
-    this.metadata.put(key, val);
+  public ByteBuffer bufferForBinaryData() {
+    return org.apache.thrift.TBaseHelper.copyBinary(binaryData);
   }
 
-  public Map<String,String> getMetadata() {
-    return this.metadata;
+  public Entity setBinaryData(byte[] binaryData) {
+    this.binaryData = binaryData == null ? (ByteBuffer)null : ByteBuffer.wrap(Arrays.copyOf(binaryData, binaryData.length));
+    return this;
   }
 
-  public Entity setMetadata(Map<String,String> metadata) {
-    this.metadata = metadata;
+  public Entity setBinaryData(ByteBuffer binaryData) {
+    this.binaryData = org.apache.thrift.TBaseHelper.copyBinary(binaryData);
     return this;
   }
 
-  public void unsetMetadata() {
-    this.metadata = null;
+  public void unsetBinaryData() {
+    this.binaryData = null;
   }
 
-  /** Returns true if field metadata is set (has been assigned a value) and false otherwise */
-  public boolean isSetMetadata() {
-    return this.metadata != null;
+  /** Returns true if field binaryData is set (has been assigned a value) and false otherwise */
+  public boolean isSetBinaryData() {
+    return this.binaryData != null;
   }
 
-  public void setMetadataIsSet(boolean value) {
+  public void setBinaryDataIsSet(boolean value) {
     if (!value) {
-      this.metadata = null;
+      this.binaryData = null;
     }
   }
 
@@ -599,11 +595,11 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
       }
       break;
 
-    case METADATA:
+    case BINARY_DATA:
       if (value == null) {
-        unsetMetadata();
+        unsetBinaryData();
       } else {
-        setMetadata((Map<String,String>)value);
+        setBinaryData((ByteBuffer)value);
       }
       break;
 
@@ -657,8 +653,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     case DESCRIPTION:
       return getDescription();
 
-    case METADATA:
-      return getMetadata();
+    case BINARY_DATA:
+      return getBinaryData();
 
     case FULL_TEXT:
       return getFullText();
@@ -694,8 +690,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
       return isSetName();
     case DESCRIPTION:
       return isSetDescription();
-    case METADATA:
-      return isSetMetadata();
+    case BINARY_DATA:
+      return isSetBinaryData();
     case FULL_TEXT:
       return isSetFullText();
     case CREATED_TIME:
@@ -782,12 +778,12 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
         return false;
     }
 
-    boolean this_present_metadata = true && this.isSetMetadata();
-    boolean that_present_metadata = true && that.isSetMetadata();
-    if (this_present_metadata || that_present_metadata) {
-      if (!(this_present_metadata && that_present_metadata))
+    boolean this_present_binaryData = true && this.isSetBinaryData();
+    boolean that_present_binaryData = true && that.isSetBinaryData();
+    if (this_present_binaryData || that_present_binaryData) {
+      if (!(this_present_binaryData && that_present_binaryData))
         return false;
-      if (!this.metadata.equals(that.metadata))
+      if (!this.binaryData.equals(that.binaryData))
         return false;
     }
 
@@ -860,10 +856,10 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
     if (present_description)
       list.add(description);
 
-    boolean present_metadata = true && (isSetMetadata());
-    list.add(present_metadata);
-    if (present_metadata)
-      list.add(metadata);
+    boolean present_binaryData = true && (isSetBinaryData());
+    list.add(present_binaryData);
+    if (present_binaryData)
+      list.add(binaryData);
 
     boolean present_fullText = true && (isSetFullText());
     list.add(present_fullText);
@@ -961,12 +957,12 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetMetadata()).compareTo(other.isSetMetadata());
+    lastComparison = Boolean.valueOf(isSetBinaryData()).compareTo(other.isSetBinaryData());
     if (lastComparison != 0) {
       return lastComparison;
     }
-    if (isSetMetadata()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.metadata, other.metadata);
+    if (isSetBinaryData()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.binaryData, other.binaryData);
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1090,13 +1086,13 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
       }
       first = false;
     }
-    if (isSetMetadata()) {
+    if (isSetBinaryData()) {
       if (!first) sb.append(", ");
-      sb.append("metadata:");
-      if (this.metadata == null) {
+      sb.append("binaryData:");
+      if (this.binaryData == null) {
         sb.append("null");
       } else {
-        sb.append(this.metadata);
+        org.apache.thrift.TBaseHelper.toString(this.binaryData, sb);
       }
       first = false;
     }
@@ -1223,22 +1219,10 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 8: // METADATA
-            if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
-              {
-                org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
-                struct.metadata = new HashMap<String,String>(2*_map0.size);
-                String _key1;
-                String _val2;
-                for (int _i3 = 0; _i3 < _map0.size; ++_i3)
-                {
-                  _key1 = iprot.readString();
-                  _val2 = iprot.readString();
-                  struct.metadata.put(_key1, _val2);
-                }
-                iprot.readMapEnd();
-              }
-              struct.setMetadataIsSet(true);
+          case 8: // BINARY_DATA
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.binaryData = iprot.readBinary();
+              struct.setBinaryDataIsSet(true);
             } else { 
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
@@ -1331,18 +1315,10 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
           oprot.writeFieldEnd();
         }
       }
-      if (struct.metadata != null) {
-        if (struct.isSetMetadata()) {
-          oprot.writeFieldBegin(METADATA_FIELD_DESC);
-          {
-            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.metadata.size()));
-            for (Map.Entry<String, String> _iter4 : struct.metadata.entrySet())
-            {
-              oprot.writeString(_iter4.getKey());
-              oprot.writeString(_iter4.getValue());
-            }
-            oprot.writeMapEnd();
-          }
+      if (struct.binaryData != null) {
+        if (struct.isSetBinaryData()) {
+          oprot.writeFieldBegin(BINARY_DATA_FIELD_DESC);
+          oprot.writeBinary(struct.binaryData);
           oprot.writeFieldEnd();
         }
       }
@@ -1402,7 +1378,7 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
       if (struct.isSetDescription()) {
         optionals.set(6);
       }
-      if (struct.isSetMetadata()) {
+      if (struct.isSetBinaryData()) {
         optionals.set(7);
       }
       if (struct.isSetFullText()) {
@@ -1436,15 +1412,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
       if (struct.isSetDescription()) {
         oprot.writeString(struct.description);
       }
-      if (struct.isSetMetadata()) {
-        {
-          oprot.writeI32(struct.metadata.size());
-          for (Map.Entry<String, String> _iter5 : struct.metadata.entrySet())
-          {
-            oprot.writeString(_iter5.getKey());
-            oprot.writeString(_iter5.getValue());
-          }
-        }
+      if (struct.isSetBinaryData()) {
+        oprot.writeBinary(struct.binaryData);
       }
       if (struct.isSetFullText()) {
         oprot.writeString(struct.fullText);
@@ -1490,19 +1459,8 @@ public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>,
         struct.setDescriptionIsSet(true);
       }
       if (incoming.get(7)) {
-        {
-          org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.metadata = new HashMap<String,String>(2*_map6.size);
-          String _key7;
-          String _val8;
-          for (int _i9 = 0; _i9 < _map6.size; ++_i9)
-          {
-            _key7 = iprot.readString();
-            _val8 = iprot.readString();
-            struct.metadata.put(_key7, _val8);
-          }
-        }
-        struct.setMetadataIsSet(true);
+        struct.binaryData = iprot.readBinary();
+        struct.setBinaryDataIsSet(true);
       }
       if (incoming.get(8)) {
         struct.fullText = iprot.readString();

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
----------------------------------------------------------------------
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 50d52de..2195848 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
@@ -36,7 +36,7 @@ import org.slf4j.LoggerFactory;
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
 /**
  * <p>client defined entity types</p>
- * <li>entityTypeId : System generated entity type id. In the current implementation it will of the form domainId:name</li>
+ * <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>
  * <li>description : Short description for the entity type.</li>
@@ -44,7 +44,7 @@ import org.slf4j.LoggerFactory;
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-14")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-16")
 public class EntityType implements org.apache.thrift.TBase<EntityType, EntityType._Fields>, java.io.Serializable, Cloneable, Comparable<EntityType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EntityType");
 
@@ -166,8 +166,6 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
   }
 
   public EntityType() {
-    this.entityTypeId = "DO_NOT_SET_AT_CLIENTS_ID";
-
   }
 
   /**
@@ -197,8 +195,7 @@ public class EntityType implements org.apache.thrift.TBase<EntityType, EntityTyp
 
   @Override
   public void clear() {
-    this.entityTypeId = "DO_NOT_SET_AT_CLIENTS_ID";
-
+    this.entityTypeId = null;
     this.domainId = null;
     this.name = null;
     this.description = null;


[8/9] airavata git commit: fixing id issues

Posted by sc...@apache.org.
fixing id issues


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b6e07d7b
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b6e07d7b
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b6e07d7b

Branch: refs/heads/develop
Commit: b6e07d7ba9e0e8d0612f5233e7dbe212d762d608
Parents: 61a0fc9
Author: scnakandala <su...@gmail.com>
Authored: Sun Oct 16 18:23:19 2016 -0400
Committer: scnakandala <su...@gmail.com>
Committed: Sun Oct 16 18:23:19 2016 -0400

----------------------------------------------------------------------
 .../server/handler/AiravataServerHandler.java   |   15 +-
 .../registry/db/entities/EntityEntity.java      |   28 +-
 .../sharing/registry/db/entities/EntityPK.java  |   76 +
 .../registry/db/entities/EntityTypeEntity.java  |    3 +-
 .../registry/db/entities/EntityTypePK.java      |   76 +
 .../db/entities/GroupMembershipEntity.java      |   13 +-
 .../db/entities/GroupMembershipEntityPK.java    |   74 -
 .../registry/db/entities/GroupMembershipPK.java |   88 +
 .../db/entities/PermissionTypeEntity.java       |    3 +-
 .../registry/db/entities/PermissionTypePK.java  |   76 +
 .../registry/db/entities/SharingEntity.java     |   13 +-
 .../registry/db/entities/SharingEntityPK.java   |   99 -
 .../sharing/registry/db/entities/SharingPK.java |  114 +
 .../registry/db/entities/SharingUserEntity.java |  157 -
 .../registry/db/entities/UserEntity.java        |  158 +
 .../registry/db/entities/UserGroupEntity.java   |    3 +-
 .../registry/db/entities/UserGroupPK.java       |   75 +
 .../sharing/registry/db/entities/UserPK.java    |   75 +
 .../db/repositories/EntityRepository.java       |    7 +-
 .../db/repositories/EntityTypeRepository.java   |    3 +-
 .../repositories/GroupMembershipRepository.java |   46 +-
 .../repositories/PermissionTypeRepository.java  |    3 +-
 .../db/repositories/SharingRepository.java      |   15 +-
 .../db/repositories/UserGroupRepository.java    |    7 +-
 .../db/repositories/UserRepository.java         |   13 +-
 .../sharing/registry/db/utils/DBConstants.java  |   65 +-
 .../server/SharingRegistryServerHandler.java    |  234 +-
 .../src/main/resources/META-INF/persistence.xml |    2 +-
 .../main/resources/sharing-registry-derby.sql   |   45 +-
 .../main/resources/sharing-registry-mysql.sql   |   51 +-
 .../SharingRegistryServerHandlerTest.java       |   30 +-
 .../sharing/registry/models/Domain.java         |    2 +-
 .../sharing/registry/models/Entity.java         |  176 +-
 .../sharing/registry/models/EntityType.java     |    9 +-
 .../registry/models/GroupMembership.java        |  149 +-
 .../sharing/registry/models/PermissionType.java |    9 +-
 .../sharing/registry/models/SearchCriteria.java |    2 +-
 .../sharing/registry/models/Sharing.java        |  149 +-
 .../models/SharingRegistryException.java        |    2 +-
 .../airavata/sharing/registry/models/User.java  |    4 +-
 .../sharing/registry/models/UserGroup.java      |    9 +-
 .../service/cpi/SharingRegistryService.java     | 2779 +++++++++++++++---
 .../api-docs/sharing_cpi.html                   |   57 +-
 .../api-docs/sharing_models.html                |   34 +-
 .../sharing-service-docs/index.html             |    3 +-
 .../thrift_models/sharing_cpi.thrift            |   38 +-
 .../thrift_models/sharing_models.thrift         |   38 +-
 47 files changed, 3909 insertions(+), 1218 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index 7690ca2..36770ea 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -814,7 +814,8 @@ public class AiravataServerHandler implements Airavata.Iface {
             if (ServerSettings.isEnableSharing()){
                 // user projects + user accessible projects
                 List<String> accessibleProjectIds = new ArrayList<>();
-                sharingRegistryServerHandler.searchEntities(userName+"@"+gatewayId , gatewayId+":PROJECT",
+                sharingRegistryServerHandler.searchEntities(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        userName+"@"+gatewayId , gatewayId+":PROJECT",
                         new ArrayList<>(), offset, limit).stream().forEach(p->accessibleProjectIds.add(p.entityId));
                 return getRegistryServiceClient().searchProjects(gatewayId, userName, accessibleProjectIds, new HashMap<>(), limit, offset);
             }else{
@@ -859,7 +860,8 @@ public class AiravataServerHandler implements Airavata.Iface {
             List<String> accessibleProjIds  = new ArrayList<>();
 
             if(ServerSettings.isEnableSharing())
-                sharingRegistryServerHandler.searchEntities(userName+"@"+gatewayId, gatewayId+":PROJECT",
+                sharingRegistryServerHandler.searchEntities(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        userName+"@"+gatewayId, gatewayId+":PROJECT",
                         new ArrayList<>(), 0, -1).stream().forEach(e->accessibleProjIds.add(e.entityId));
 
             return getRegistryServiceClient().searchProjects(gatewayId, userName, accessibleProjIds, filters, limit, offset);
@@ -896,7 +898,8 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             List<String> accessibleExpIds = new ArrayList<>();
             if(ServerSettings.isEnableSharing())
-                sharingRegistryServerHandler.searchEntities(userName+"@"+gatewayId, gatewayId+":EXPERIMENT",
+                sharingRegistryServerHandler.searchEntities(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        userName+"@"+gatewayId, gatewayId+":EXPERIMENT",
                         new ArrayList<>(), 0, -1).forEach(e->accessibleExpIds.add(e.entityId));
             return getRegistryServiceClient().searchExperiments(gatewayId, userName, accessibleExpIds, filters, limit, offset);
         }catch (Exception e) {
@@ -3873,10 +3876,12 @@ public class AiravataServerHandler implements Airavata.Iface {
         try {
             List<String> accessibleUsers = new ArrayList<>();
             if(permissionType.equals(ResourcePermissionType.WRITE))
-                sharingRegistryServerHandler.getListOfSharedUsers(resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
+                sharingRegistryServerHandler.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
                         + ":WRITE").stream().forEach(u->accessibleUsers.add(u.userId));
             else if(permissionType.equals(ResourcePermissionType.READ))
-                sharingRegistryServerHandler.getListOfSharedUsers(resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
+                sharingRegistryServerHandler.getListOfSharedUsers(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
+                        resourceId, authzToken.getClaimsMap().get(Constants.GATEWAY_ID)
                         + ":READ").stream().forEach(u->accessibleUsers.add(u.userId));
             return accessibleUsers;
         } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
index de8abf4..7ee8225 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityEntity.java
@@ -24,10 +24,11 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.persistence.*;
-import java.util.Map;
+import java.nio.ByteBuffer;
 
 @Entity
 @Table(name = "ENTITY", schema = "")
+@IdClass(EntityPK.class)
 public class EntityEntity {
     private final static Logger logger = LoggerFactory.getLogger(EntityEntity.class);
     private String entityId;
@@ -37,7 +38,7 @@ public class EntityEntity {
     private String parentEntityId;
     private String name;
     private String description;
-    private Map<String, String> metadata;
+    private ByteBuffer binaryData;
     private String fullText;
     private Long createdTime;
     private Long updatedTime;
@@ -52,7 +53,7 @@ public class EntityEntity {
         this.entityId = entityId;
     }
 
-    @Basic
+    @Id
     @Column(name = "DOMAIN_ID")
     public String getDomainId() {
         return domainId;
@@ -112,19 +113,14 @@ public class EntityEntity {
         this.description = description;
     }
 
-    @ElementCollection
-    @CollectionTable(
-            name="ENTITY_METADATA",
-            joinColumns=@JoinColumn(name="ENTITY_ID")
-    )
-    @MapKeyColumn(name="META_KEY")
-    @Column(name="META_VALUE")
-    public Map<String, String> getMetadata() {
-        return metadata;
+    @Lob
+    @Column(name="BINARY_DATA")
+    public ByteBuffer getBinaryData() {
+        return binaryData;
     }
 
-    public void setMetadata(Map<String, String> metadata) {
-        this.metadata = metadata;
+    public void setBinaryData(ByteBuffer binaryData) {
+        this.binaryData = binaryData;
     }
 
     @Lob
@@ -169,7 +165,7 @@ public class EntityEntity {
         if (parentEntityId != null ? !parentEntityId.equals(that.parentEntityId) : that.parentEntityId != null) return false;
         if (name != null ? !name.equals(that.name) : that.name != null) return false;
         if (description != null ? !description.equals(that.description) : that.description != null) return false;
-        if (metadata.equals(that.metadata)) return false;
+        if (binaryData.equals(that.binaryData)) return false;
         if (fullText != null ? !fullText.equals(that.fullText) : that.fullText != null) return false;
         if (createdTime != null ? !createdTime.equals(that.createdTime) : that.createdTime != null) return false;
         if (updatedTime != null ? !updatedTime.equals(that.updatedTime) : that.updatedTime != null) return false;
@@ -183,7 +179,7 @@ public class EntityEntity {
         int result = entityId != null ? entityId.hashCode() : 0;
         result = 31 * result + (name != null ? name.hashCode() : 0);
         result = 31 * result + (description != null ? description.hashCode() : 0);
-        result = 31 * result + (metadata != null ? metadata.hashCode() : 0);
+        result = 31 * result + (binaryData != null ? binaryData.hashCode() : 0);
         result = 31 * result + (fullText != null ? fullText.hashCode() : 0);
         result = 31 * result + (createdTime != null ? createdTime.hashCode() : 0);
         result = 31 * result + (updatedTime != null ? updatedTime.hashCode() : 0);

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityPK.java
new file mode 100644
index 0000000..44bd33c
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityPK.java
@@ -0,0 +1,76 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class EntityPK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(EntityPK.class);
+    private String entityId;
+    private String domainId;
+
+
+    @Column(name = "ENTITY_ID")
+    @Id
+    public String getEntityId() {
+        return entityId;
+    }
+
+    public void setEntityId(String entityId) {
+        this.entityId = entityId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        EntityPK that = (EntityPK) o;
+
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null)
+            return false;
+        if (entityId != null ? !entityId.equals(that.entityId) : that.entityId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = domainId != null ? domainId.hashCode() : 0;
+        result = 31 * result + (entityId != null ? entityId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypeEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypeEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypeEntity.java
index 0b789ed..1b531cc 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypeEntity.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypeEntity.java
@@ -27,6 +27,7 @@ import javax.persistence.*;
 
 @Entity
 @Table(name = "ENTITY_TYPE", schema = "")
+@IdClass(EntityTypePK.class)
 public class EntityTypeEntity {
     private final static Logger logger = LoggerFactory.getLogger(EntityTypeEntity.class);
     private String entityTypeId;
@@ -46,7 +47,7 @@ public class EntityTypeEntity {
         this.entityTypeId = entityTypeId;
     }
 
-    @Basic
+    @Id
     @Column(name = "DOMAIN_ID")
     public String getDomainId() {
         return domainId;

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypePK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypePK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypePK.java
new file mode 100644
index 0000000..03f5ba2
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/EntityTypePK.java
@@ -0,0 +1,76 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class EntityTypePK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(EntityTypePK.class);
+    private String entityTypeId;
+    private String domainId;
+
+
+    @Column(name = "ENTITY_TYPE_ID")
+    @Id
+    public String getEntityTypeId() {
+        return entityTypeId;
+    }
+
+    public void setEntityTypeId(String entityTypeId) {
+        this.entityTypeId = entityTypeId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        EntityTypePK that = (EntityTypePK) o;
+
+        if (entityTypeId != null ? !entityTypeId.equals(that.entityTypeId) : that.entityTypeId != null)
+            return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = entityTypeId != null ? entityTypeId.hashCode() : 0;
+        result = 31 * result + (domainId != null ? domainId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntity.java
index c62a52d..1e7710b 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntity.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntity.java
@@ -27,12 +27,13 @@ import javax.persistence.*;
 
 @Entity
 @Table(name = "GROUP_MEMBERSHIP", schema = "")
-@IdClass(GroupMembershipEntityPK.class)
+@IdClass(GroupMembershipPK.class)
 public class GroupMembershipEntity {
     private final static Logger logger = LoggerFactory.getLogger(GroupMembershipEntity.class);
     private String parentId;
     private String childId;
     private String childType;
+    private String domainId;
     private Long createdTime;
     private Long updatedTime;
 
@@ -56,6 +57,16 @@ public class GroupMembershipEntity {
         this.childId = childId;
     }
 
+    @Id
+    @Column(name = "DOMAIN_ID")
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
     @Basic
     @Column(name = "CHILD_TYPE")
     public String getChildType() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntityPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntityPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntityPK.java
deleted file mode 100644
index be3b1f9..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipEntityPK.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.Column;
-import javax.persistence.Id;
-import java.io.Serializable;
-
-public class GroupMembershipEntityPK implements Serializable {
-    private final static Logger logger = LoggerFactory.getLogger(GroupMembershipEntityPK.class);
-    private String parentId;
-    private String childId;
-
-    @Column(name = "PARENT_ID")
-    @Id
-    public String getParentId() {
-        return parentId;
-    }
-
-    public void setParentId(String parentId) {
-        this.parentId = parentId;
-    }
-
-    @Column(name = "CHILD_ID")
-    @Id
-    public String getChildId() {
-        return childId;
-    }
-
-    public void setChildId(String childId) {
-        this.childId = childId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupMembershipEntityPK that = (GroupMembershipEntityPK) o;
-
-        if (parentId != null ? !parentId.equals(that.parentId) : that.parentId != null) return false;
-        if (childId != null ? !childId.equals(that.childId) : that.childId != null) return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = parentId != null ? parentId.hashCode() : 0;
-        result = 31 * result + (childId != null ? childId.hashCode() : 0);
-        return result;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipPK.java
new file mode 100644
index 0000000..d123021
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/GroupMembershipPK.java
@@ -0,0 +1,88 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class GroupMembershipPK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(GroupMembershipPK.class);
+    private String parentId;
+    private String childId;
+    private String domainId;
+
+    @Column(name = "PARENT_ID")
+    @Id
+    public String getParentId() {
+        return parentId;
+    }
+
+    public void setParentId(String parentId) {
+        this.parentId = parentId;
+    }
+
+    @Column(name = "CHILD_ID")
+    @Id
+    public String getChildId() {
+        return childId;
+    }
+
+    public void setChildId(String childId) {
+        this.childId = childId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        GroupMembershipPK that = (GroupMembershipPK) o;
+
+        if (parentId != null ? !parentId.equals(that.parentId) : that.parentId != null)
+            return false;
+        if (childId != null ? !childId.equals(that.childId) : that.childId != null) return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = parentId != null ? parentId.hashCode() : 0;
+        result = 31 * result + (childId != null ? childId.hashCode() : 0);
+        result = 31 * result + (domainId != null ? domainId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypeEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypeEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypeEntity.java
index c145cbe..a5eddae 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypeEntity.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypeEntity.java
@@ -27,6 +27,7 @@ import javax.persistence.*;
 
 @Entity
 @Table(name = "PERMISSION_TYPE", schema = "")
+@IdClass(PermissionTypePK.class)
 public class PermissionTypeEntity {
     private final static Logger logger = LoggerFactory.getLogger(PermissionTypeEntity.class);
     private String permissionTypeId;
@@ -46,7 +47,7 @@ public class PermissionTypeEntity {
         this.permissionTypeId = permissionTypeId;
     }
 
-    @Basic
+    @Id
     @Column(name = "DOMAIN_ID")
     public String getDomainId() {
         return domainId;

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypePK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypePK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypePK.java
new file mode 100644
index 0000000..4a5bec2
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/PermissionTypePK.java
@@ -0,0 +1,76 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class PermissionTypePK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(PermissionTypePK.class);
+    private String permissionTypeId;
+    private String domainId;
+
+
+    @Column(name = "PERMISSION_TYPE_ID")
+    @Id
+    public String getPermissionTypeId() {
+        return permissionTypeId;
+    }
+
+    public void setPermissionTypeId(String permissionTypeId) {
+        this.permissionTypeId = permissionTypeId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        PermissionTypePK that = (PermissionTypePK) o;
+
+        if (permissionTypeId != null ? !permissionTypeId.equals(that.permissionTypeId) : that.permissionTypeId != null)
+            return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = permissionTypeId != null ? permissionTypeId.hashCode() : 0;
+        result = 31 * result + (domainId != null ? domainId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntity.java
index b4b74b0..50dadab 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntity.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntity.java
@@ -27,12 +27,13 @@ import javax.persistence.*;
 
 @Entity
 @Table(name = "SHARING", schema = "")
-@IdClass(SharingEntityPK.class)
+@IdClass(SharingPK.class)
 public class SharingEntity {
     private final static Logger logger = LoggerFactory.getLogger(SharingEntity.class);
     private String permissionTypeId;
     private String entityId;
     private String groupId;
+    private String domainId;
     private String sharingType;
     private String inheritedParentId;
     private Long createdTime;
@@ -79,6 +80,16 @@ public class SharingEntity {
         this.inheritedParentId = inheritedParentId;
     }
 
+    @Id
+    @Column(name = "DOMAIN_ID")
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
     @Basic
     @Column(name = "SHARING_TYPE")
     public String getSharingType() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntityPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntityPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntityPK.java
deleted file mode 100644
index da77a87..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingEntityPK.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.Column;
-import javax.persistence.Id;
-import java.io.Serializable;
-
-public class SharingEntityPK implements Serializable {
-    private final static Logger logger = LoggerFactory.getLogger(SharingEntityPK.class);
-    private String permissionTypeId;
-    private String entityId;
-    private String groupId;
-    private String inheritedParentId;
-
-    @Column(name = "PERMISSION_TYPE_ID")
-    @Id
-    public String getPermissionTypeId() {
-        return permissionTypeId;
-    }
-
-    public void setPermissionTypeId(String permissionTypeId) {
-        this.permissionTypeId = permissionTypeId;
-    }
-
-    @Column(name = "ENTITY_ID")
-    @Id
-    public String getEntityId() {
-        return entityId;
-    }
-
-    public void setEntityId(String entityId) {
-        this.entityId = entityId;
-    }
-
-    @Column(name = "GROUP_ID")
-    @Id
-    public String getGroupId() {
-        return groupId;
-    }
-
-    public void setGroupId(String groupId) {
-        this.groupId = groupId;
-    }
-
-    @Column(name = "INHERITED_PARENT_ID")
-    @Id
-    public String getInheritedParentId() {
-        return inheritedParentId;
-    }
-
-    public void setInheritedParentId(String inheritedParentId) {
-        this.inheritedParentId = inheritedParentId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        SharingEntityPK that = (SharingEntityPK) o;
-
-        if (permissionTypeId != null ? !permissionTypeId.equals(that.permissionTypeId) : that.permissionTypeId != null)
-            return false;
-        if (entityId != null ? !entityId.equals(that.entityId) : that.entityId != null) return false;
-        if (groupId != null ? !groupId.equals(that.groupId) : that.groupId != null) return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = permissionTypeId != null ? permissionTypeId.hashCode() : 0;
-        result = 31 * result + (entityId != null ? entityId.hashCode() : 0);
-        result = 31 * result + (groupId != null ? groupId.hashCode() : 0);
-        return result;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingPK.java
new file mode 100644
index 0000000..c046fb1
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingPK.java
@@ -0,0 +1,114 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class SharingPK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(SharingPK.class);
+    private String permissionTypeId;
+    private String entityId;
+    private String groupId;
+    private String inheritedParentId;
+    private String domainId;
+
+    @Column(name = "PERMISSION_TYPE_ID")
+    @Id
+    public String getPermissionTypeId() {
+        return permissionTypeId;
+    }
+
+    public void setPermissionTypeId(String permissionTypeId) {
+        this.permissionTypeId = permissionTypeId;
+    }
+
+    @Column(name = "ENTITY_ID")
+    @Id
+    public String getEntityId() {
+        return entityId;
+    }
+
+    public void setEntityId(String entityId) {
+        this.entityId = entityId;
+    }
+
+    @Column(name = "GROUP_ID")
+    @Id
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
+    @Column(name = "INHERITED_PARENT_ID")
+    @Id
+    public String getInheritedParentId() {
+        return inheritedParentId;
+    }
+
+    public void setInheritedParentId(String inheritedParentId) {
+        this.inheritedParentId = inheritedParentId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        SharingPK that = (SharingPK) o;
+
+        if (permissionTypeId != null ? !permissionTypeId.equals(that.permissionTypeId) : that.permissionTypeId != null)
+            return false;
+        if (entityId != null ? !entityId.equals(that.entityId) : that.entityId != null) return false;
+        if (groupId != null ? !groupId.equals(that.groupId) : that.groupId != null) return false;
+        if (inheritedParentId != null ? !inheritedParentId.equals(that.inheritedParentId) : that.inheritedParentId != null) return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = permissionTypeId != null ? permissionTypeId.hashCode() : 0;
+        result = 31 * result + (entityId != null ? entityId.hashCode() : 0);
+        result = 31 * result + (groupId != null ? groupId.hashCode() : 0);
+        result = 31 * result + (inheritedParentId != null ? inheritedParentId.hashCode() : 0);
+        result = 31 * result + (domainId != null ? domainId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingUserEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingUserEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingUserEntity.java
deleted file mode 100644
index 1482ce9..0000000
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/SharingUserEntity.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- *
- * 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.
- *
-*/
-package org.apache.airavata.sharing.registry.db.entities;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.*;
-import java.nio.ByteBuffer;
-
-@Entity
-@Table(name = "SHARING_USER", schema = "")
-public class SharingUserEntity {
-    private final static Logger logger = LoggerFactory.getLogger(SharingUserEntity.class);
-    private String userId;
-    private String domainId;
-    private String userName;
-    private String firstName;
-    private String lastName;
-    private String email;
-    private ByteBuffer icon;
-    private Long createdTime;
-    private Long updatedTime;
-
-    @Id
-    @Column(name = "USER_ID")
-    public String getUserId() {
-        return userId;
-    }
-
-    public void setUserId(String userId) {
-        this.userId = userId;
-    }
-
-    @Basic
-    @Column(name = "DOMAIN_ID")
-    public String getDomainId() {
-        return domainId;
-    }
-
-    public void setDomainId(String domainId) {
-        this.domainId = domainId;
-    }
-
-    @Basic
-    @Column(name = "USER_NAME")
-    public String getUserName() {
-        return userName;
-    }
-
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
-
-    @Basic
-    @Column(name = "FIRST_NAME")
-    public String getFirstName() {
-        return firstName;
-    }
-
-    public void setFirstName(String firstName) {
-        this.firstName = firstName;
-    }
-
-    @Basic
-    @Column(name = "LAST_NAME")
-    public String getLastName() {
-        return lastName;
-    }
-
-    public void setLastName(String lastName) {
-        this.lastName = lastName;
-    }
-
-    @Basic
-    @Column(name = "EMAIL")
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = email;
-    }
-
-    @Lob
-    @Column(name = "ICON")
-    public ByteBuffer getIcon() {
-        return icon;
-    }
-
-    public void setIcon(ByteBuffer icon) {
-        this.icon = icon;
-    }
-
-    @Basic
-    @Column(name = "CREATED_TIME")
-    public Long getCreatedTime() {
-        return createdTime;
-    }
-
-    public void setCreatedTime(Long createdTime) {
-        this.createdTime = createdTime;
-    }
-
-    @Basic
-    @Column(name = "UPDATED_TIME")
-    public Long getUpdatedTime() {
-        return updatedTime;
-    }
-
-    public void setUpdatedTime(Long updatedTime) {
-        this.updatedTime = updatedTime;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        SharingUserEntity that = (SharingUserEntity) o;
-
-        if (userId != null ? !userId.equals(that.userId) : that.userId != null) return false;
-        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
-        if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
-        if (createdTime != null ? !createdTime.equals(that.createdTime) : that.createdTime != null) return false;
-        if (updatedTime != null ? !updatedTime.equals(that.updatedTime) : that.updatedTime != null) return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = userId != null ? userId.hashCode() : 0;
-        result = 31 * result + (userName != null ? userName.hashCode() : 0);
-        result = 31 * result + (createdTime != null ? createdTime.hashCode() : 0);
-        result = 31 * result + (updatedTime != null ? updatedTime.hashCode() : 0);
-        return result;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
new file mode 100644
index 0000000..05cbd19
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserEntity.java
@@ -0,0 +1,158 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+import java.nio.ByteBuffer;
+
+@Entity
+@Table(name = "SHARING_USER", schema = "") // USER is a reserved term in derby
+@IdClass(UserPK.class)
+public class UserEntity {
+    private final static Logger logger = LoggerFactory.getLogger(UserEntity.class);
+    private String userId;
+    private String domainId;
+    private String userName;
+    private String firstName;
+    private String lastName;
+    private String email;
+    private ByteBuffer icon;
+    private Long createdTime;
+    private Long updatedTime;
+
+    @Id
+    @Column(name = "USER_ID")
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    @Id
+    @Column(name = "DOMAIN_ID")
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Basic
+    @Column(name = "USER_NAME")
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    @Basic
+    @Column(name = "FIRST_NAME")
+    public String getFirstName() {
+        return firstName;
+    }
+
+    public void setFirstName(String firstName) {
+        this.firstName = firstName;
+    }
+
+    @Basic
+    @Column(name = "LAST_NAME")
+    public String getLastName() {
+        return lastName;
+    }
+
+    public void setLastName(String lastName) {
+        this.lastName = lastName;
+    }
+
+    @Basic
+    @Column(name = "EMAIL")
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
+    @Lob
+    @Column(name = "ICON")
+    public ByteBuffer getIcon() {
+        return icon;
+    }
+
+    public void setIcon(ByteBuffer icon) {
+        this.icon = icon;
+    }
+
+    @Basic
+    @Column(name = "CREATED_TIME")
+    public Long getCreatedTime() {
+        return createdTime;
+    }
+
+    public void setCreatedTime(Long createdTime) {
+        this.createdTime = createdTime;
+    }
+
+    @Basic
+    @Column(name = "UPDATED_TIME")
+    public Long getUpdatedTime() {
+        return updatedTime;
+    }
+
+    public void setUpdatedTime(Long updatedTime) {
+        this.updatedTime = updatedTime;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        UserEntity that = (UserEntity) o;
+
+        if (userId != null ? !userId.equals(that.userId) : that.userId != null) return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+        if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
+        if (createdTime != null ? !createdTime.equals(that.createdTime) : that.createdTime != null) return false;
+        if (updatedTime != null ? !updatedTime.equals(that.updatedTime) : that.updatedTime != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = userId != null ? userId.hashCode() : 0;
+        result = 31 * result + (userName != null ? userName.hashCode() : 0);
+        result = 31 * result + (createdTime != null ? createdTime.hashCode() : 0);
+        result = 31 * result + (updatedTime != null ? updatedTime.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupEntity.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupEntity.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupEntity.java
index 09fd8d8..d212d8d 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupEntity.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupEntity.java
@@ -27,6 +27,7 @@ import javax.persistence.*;
 
 @Entity
 @Table(name = "USER_GROUP", schema = "")
+@IdClass(UserGroupPK.class)
 public class UserGroupEntity {
     private final static Logger logger = LoggerFactory.getLogger(UserGroupEntity.class);
     private String groupId;
@@ -49,7 +50,7 @@ public class UserGroupEntity {
         this.groupId = groupId;
     }
 
-    @Basic
+    @Id
     @Column(name = "DOMAIN_ID")
     public String getDomainId() {
         return domainId;

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupPK.java
new file mode 100644
index 0000000..42ae5da
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserGroupPK.java
@@ -0,0 +1,75 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class UserGroupPK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(UserGroupPK.class);
+    private String groupId;
+    private String domainId;
+
+    @Column(name = "GROUP_ID")
+    @Id
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        UserGroupPK that = (UserGroupPK) o;
+
+        if (groupId != null ? !groupId.equals(that.groupId) : that.groupId != null)
+            return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = groupId != null ? groupId.hashCode() : 0;
+        result = 31 * result + (domainId != null ? domainId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserPK.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserPK.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserPK.java
new file mode 100644
index 0000000..eb39f69
--- /dev/null
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/entities/UserPK.java
@@ -0,0 +1,75 @@
+/*
+ *
+ * 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.
+ *
+*/
+package org.apache.airavata.sharing.registry.db.entities;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class UserPK implements Serializable {
+    private final static Logger logger = LoggerFactory.getLogger(UserPK.class);
+    private String userId;
+    private String domainId;
+
+    @Column(name = "USER_ID")
+    @Id
+    public String getUserId() {
+        return userId;
+    }
+
+    public void setUserId(String userId) {
+        this.userId = userId;
+    }
+
+    @Column(name = "DOMAIN_ID")
+    @Id
+    public String getDomainId() {
+        return domainId;
+    }
+
+    public void setDomainId(String domainId) {
+        this.domainId = domainId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+        if (o == null || getClass() != o.getClass()) return false;
+
+        UserPK that = (UserPK) o;
+
+        if (userId != null ? !userId.equals(that.userId) : that.userId != null)
+            return false;
+        if (domainId != null ? !domainId.equals(that.domainId) : that.domainId != null) return false;
+
+        return true;
+    }
+
+    @Override
+    public int hashCode() {
+        int result = userId != null ? userId.hashCode() : 0;
+        result = 31 * result + (domainId != null ? domainId.hashCode() : 0);
+        return result;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityRepository.java
index b7137d2..a762f00 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityRepository.java
@@ -21,6 +21,7 @@
 package org.apache.airavata.sharing.registry.db.repositories;
 
 import org.apache.airavata.sharing.registry.db.entities.EntityEntity;
+import org.apache.airavata.sharing.registry.db.entities.EntityPK;
 import org.apache.airavata.sharing.registry.db.entities.SharingEntity;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.models.*;
@@ -30,7 +31,7 @@ import org.slf4j.LoggerFactory;
 import java.util.HashMap;
 import java.util.List;
 
-public class EntityRepository extends AbstractRepository<Entity, EntityEntity, String> {
+public class EntityRepository extends AbstractRepository<Entity, EntityEntity, EntityPK> {
     private final static Logger logger = LoggerFactory.getLogger(EntityRepository.class);
 
     public EntityRepository() {
@@ -43,7 +44,7 @@ public class EntityRepository extends AbstractRepository<Entity, EntityEntity, S
         return select(filters, 0, -1);
     }
 
-    public List<Entity> searchEntities(List<String> groupIds, String entityTypeId, List<SearchCriteria> filters,
+    public List<Entity> searchEntities(String domainId, List<String> groupIds, String entityTypeId, List<SearchCriteria> filters,
                                        int offset, int limit) throws SharingRegistryException {
         String groupIdString = "'";
         for(String groupId : groupIds)
@@ -52,6 +53,8 @@ public class EntityRepository extends AbstractRepository<Entity, EntityEntity, S
 
         String query = "SELECT E FROM " + EntityEntity.class.getSimpleName() + " E, " + SharingEntity.class.getSimpleName() + " S WHERE " +
                 "E." + DBConstants.EntityTable.ENTITY_ID + " = S." + DBConstants.SharingTable.ENTITY_ID + " AND " +
+                "E." + DBConstants.EntityTable.DOMAIN_ID + " = S." + DBConstants.SharingTable.DOMAIN_ID + " AND " +
+                "E." + DBConstants.EntityTable.DOMAIN_ID + " = '" + domainId + "' AND " +
                 "S." + DBConstants.SharingTable.GROUP_ID + " IN(" + groupIdString + ") AND E." + DBConstants.EntityTable.ENTITY_TYPE_ID + "='" +
                 entityTypeId + "' AND ";
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityTypeRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityTypeRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityTypeRepository.java
index ed2a7e9..df22e36 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityTypeRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/EntityTypeRepository.java
@@ -21,11 +21,12 @@
 package org.apache.airavata.sharing.registry.db.repositories;
 
 import org.apache.airavata.sharing.registry.db.entities.EntityTypeEntity;
+import org.apache.airavata.sharing.registry.db.entities.EntityTypePK;
 import org.apache.airavata.sharing.registry.models.EntityType;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class EntityTypeRepository extends AbstractRepository<EntityType, EntityTypeEntity, String> {
+public class EntityTypeRepository extends AbstractRepository<EntityType, EntityTypeEntity, EntityTypePK> {
     private final static Logger logger = LoggerFactory.getLogger(EntityTypeRepository.class);
 
     public EntityTypeRepository() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
index 87d5d4c..ccf27cb 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/GroupMembershipRepository.java
@@ -21,39 +21,37 @@
 package org.apache.airavata.sharing.registry.db.repositories;
 
 import org.apache.airavata.sharing.registry.db.entities.GroupMembershipEntity;
-import org.apache.airavata.sharing.registry.db.entities.GroupMembershipEntityPK;
-import org.apache.airavata.sharing.registry.db.entities.SharingUserEntity;
+import org.apache.airavata.sharing.registry.db.entities.GroupMembershipPK;
+import org.apache.airavata.sharing.registry.db.entities.UserEntity;
 import org.apache.airavata.sharing.registry.db.entities.UserGroupEntity;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.models.*;
 
 import java.util.*;
 
-public class GroupMembershipRepository extends AbstractRepository<GroupMembership, GroupMembershipEntity, GroupMembershipEntityPK> {
+public class GroupMembershipRepository extends AbstractRepository<GroupMembership, GroupMembershipEntity, GroupMembershipPK> {
 
     public GroupMembershipRepository() {
         super(GroupMembership.class, GroupMembershipEntity.class);
     }
 
-    public List<GroupMembership> getChildMembershipsOfGroup(String parentId) throws SharingRegistryException {
-        Map<String, String> filters = new HashMap<>();
-        filters.put(DBConstants.GroupMembershipTable.PARENT_ID, parentId);
-        return select(filters, 0, -1);
-    }
-
-    public List<User> getAllChildUsers(String groupId) throws SharingRegistryException {
-        String queryString = "SELECT U FROM " + SharingUserEntity.class.getSimpleName() + " U, " + GroupMembershipEntity.class.getSimpleName()
+    public List<User> getAllChildUsers(String domainId, String groupId) throws SharingRegistryException {
+        String queryString = "SELECT U FROM " + UserEntity.class.getSimpleName() + " U, " + GroupMembershipEntity.class.getSimpleName()
                 + " GM WHERE GM." + DBConstants.GroupMembershipTable.CHILD_ID + " = U." + DBConstants.UserTable.USER_ID + " AND " +
-                "gm." + DBConstants.GroupMembershipTable.PARENT_ID+"='"+groupId + "' AND gm." + DBConstants.GroupMembershipTable.CHILD_TYPE
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID + " = U." + DBConstants.UserTable.DOMAIN_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID + "='" + domainId + "' AND "+
+                "GM." + DBConstants.GroupMembershipTable.PARENT_ID + "='" + groupId + "' AND GM." + DBConstants.GroupMembershipTable.CHILD_TYPE
                 + "='" + GroupChildType.USER.toString() + "'";
         UserRepository userRepository = new UserRepository();
         List<User> users = userRepository.select(queryString, 0, -1);
         return users;
     }
 
-    public List<UserGroup> getAllChildGroups(String groupId) throws SharingRegistryException {
+    public List<UserGroup> getAllChildGroups(String domainId, String groupId) throws SharingRegistryException {
         String queryString = "SELECT G FROM " + UserGroupEntity.class.getSimpleName() + " G, " + GroupMembershipEntity.class.getSimpleName()
                 + " GM WHERE GM." + DBConstants.GroupMembershipTable.CHILD_ID + " = G." + DBConstants.UserGroupTable.GROUP_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID + " = G." + DBConstants.UserGroupTable.DOMAIN_ID + " AND " +
+                "GM." + DBConstants.GroupMembershipTable.DOMAIN_ID+"='"+domainId + "' AND "+
                 "GM." + DBConstants.GroupMembershipTable.PARENT_ID+"='"+groupId + "' AND GM." + DBConstants.GroupMembershipTable.CHILD_TYPE
                 + "='" + GroupChildType.GROUP.toString() + "'";
         UserGroupRepository userGroupRepository = new UserGroupRepository();
@@ -61,10 +59,11 @@ public class GroupMembershipRepository extends AbstractRepository<GroupMembershi
         return groups;
     }
 
-    public List<GroupMembership> getAllParentMembershipsForChild(String childId) throws SharingRegistryException {
+    public List<GroupMembership> getAllParentMembershipsForChild(String domainId, String childId) throws SharingRegistryException {
         List<GroupMembership> finalParentGroups = new ArrayList<>();
         Map<String, String> filters = new HashMap<>();
         filters.put(DBConstants.GroupMembershipTable.CHILD_ID, childId);
+        filters.put(DBConstants.GroupMembershipTable.DOMAIN_ID, domainId);
         LinkedList<GroupMembership> temp = new LinkedList<>();
         select(filters, 0, -1).stream().forEach(m -> temp.addLast(m));
         while (temp.size() > 0){
@@ -76,23 +75,4 @@ public class GroupMembershipRepository extends AbstractRepository<GroupMembershi
         }
         return finalParentGroups;
     }
-
-    public List<UserGroup> getAllParentGroupsForChild(String childId) throws SharingRegistryException {
-        List<UserGroup> finalParentGroups = new ArrayList<>();
-        Map<String, String> filters = new HashMap<>();
-        filters.put(DBConstants.GroupMembershipTable.CHILD_ID, childId);
-        LinkedList<GroupMembership> temp = new LinkedList<>();
-        select(filters, 0, -1).stream().forEach(m -> temp.addLast(m));
-        UserGroupRepository userGroupRepository = new UserGroupRepository();
-        while (temp.size() > 0){
-            GroupMembership gm = temp.pop();
-            filters = new HashMap<>();
-            filters.put(DBConstants.GroupMembershipTable.CHILD_ID, gm.parentId);
-            select(filters, 0, -1).stream().forEach(m -> temp.addLast(m));
-            finalParentGroups.add(userGroupRepository.get(gm.parentId));
-        }
-        return finalParentGroups;
-    }
-
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/PermissionTypeRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/PermissionTypeRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/PermissionTypeRepository.java
index ac092f1..62a725e 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/PermissionTypeRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/PermissionTypeRepository.java
@@ -21,6 +21,7 @@
 package org.apache.airavata.sharing.registry.db.repositories;
 
 import org.apache.airavata.sharing.registry.db.entities.PermissionTypeEntity;
+import org.apache.airavata.sharing.registry.db.entities.PermissionTypePK;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.models.SharingRegistryException;
 import org.apache.airavata.sharing.registry.models.PermissionType;
@@ -31,7 +32,7 @@ import org.slf4j.LoggerFactory;
 import java.util.HashMap;
 import java.util.List;
 
-public class PermissionTypeRepository extends AbstractRepository<PermissionType, PermissionTypeEntity, String> {
+public class PermissionTypeRepository extends AbstractRepository<PermissionType, PermissionTypeEntity, PermissionTypePK> {
     private final static Logger logger = LoggerFactory.getLogger(PermissionTypeRepository.class);
 
     public PermissionTypeRepository() {

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/SharingRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/SharingRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/SharingRepository.java
index 9c30fa4..1237808 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/SharingRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/SharingRepository.java
@@ -21,7 +21,7 @@
 package org.apache.airavata.sharing.registry.db.repositories;
 
 import org.apache.airavata.sharing.registry.db.entities.SharingEntity;
-import org.apache.airavata.sharing.registry.db.entities.SharingEntityPK;
+import org.apache.airavata.sharing.registry.db.entities.SharingPK;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.models.Sharing;
 import org.apache.airavata.sharing.registry.models.SharingRegistryException;
@@ -32,15 +32,16 @@ import org.slf4j.LoggerFactory;
 import java.util.HashMap;
 import java.util.List;
 
-public class SharingRepository extends AbstractRepository<Sharing, SharingEntity, SharingEntityPK> {
+public class SharingRepository extends AbstractRepository<Sharing, SharingEntity, SharingPK> {
     private final static Logger logger = LoggerFactory.getLogger(SharingRepository.class);
 
     public SharingRepository() {
         super(Sharing.class, SharingEntity.class);
     }
 
-    public List<Sharing> getIndirectSharedChildren(String parentId, String permissionTypeId) throws SharingRegistryException {
+    public List<Sharing> getIndirectSharedChildren(String domainId, String parentId, String permissionTypeId) throws SharingRegistryException {
         HashMap<String, String> filters = new HashMap<>();
+        filters.put(DBConstants.SharingTable.DOMAIN_ID, domainId);
         filters.put(DBConstants.SharingTable.INHERITED_PARENT_ID, parentId);
         filters.put(DBConstants.SharingTable.SHARING_TYPE, SharingType.INDIRECT_CASCADING.toString());
         filters.put(DBConstants.SharingTable.PERMISSION_TYPE_ID, permissionTypeId);
@@ -48,11 +49,10 @@ public class SharingRepository extends AbstractRepository<Sharing, SharingEntity
         return select(filters, 0, -1);
     }
 
-    public List<Sharing> getCascadingPermissionsForEntity(String entityId) throws SharingRegistryException {
-        HashMap<String, String> filters = new HashMap<>();
-        filters.put(DBConstants.SharingTable.ENTITY_ID, entityId);
+    public List<Sharing> getCascadingPermissionsForEntity(String domainId, String entityId) throws SharingRegistryException {
         String query = "SELECT p from " + SharingEntity.class.getSimpleName() + " as p";
         query += " WHERE ";
+        query += "p." + DBConstants.SharingTable.DOMAIN_ID + " = '" + domainId + "' AND ";
         query += "p." + DBConstants.SharingTable.ENTITY_ID + " = '" + entityId + "' AND ";
         query += "p." + DBConstants.SharingTable.SHARING_TYPE + " IN('" + SharingType.DIRECT_CASCADING.toString()
                 + "', '" + SharingType.INDIRECT_CASCADING + "') ";
@@ -60,9 +60,10 @@ public class SharingRepository extends AbstractRepository<Sharing, SharingEntity
         return select(query, 0, -1);
     }
 
-    public boolean hasAccess(String entityId, List<String> groupIds, List<String> permissionTypeIds) throws SharingRegistryException {
+    public boolean hasAccess(String domainId, String entityId, List<String> groupIds, List<String> permissionTypeIds) throws SharingRegistryException {
         String query = "SELECT p from " + SharingEntity.class.getSimpleName() + " as p";
         query += " WHERE ";
+        query += "p." + DBConstants.SharingTable.DOMAIN_ID + " = '" + domainId + "' AND ";
         query += "p." + DBConstants.SharingTable.ENTITY_ID + " = '" + entityId + "' AND ";
         String permissionTypeIdString = "'";
         for(String permissionId : permissionTypeIds)

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserGroupRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserGroupRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserGroupRepository.java
index 1ed1f06..c86bb22 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserGroupRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserGroupRepository.java
@@ -22,6 +22,7 @@ package org.apache.airavata.sharing.registry.db.repositories;
 
 import org.apache.airavata.sharing.registry.db.entities.SharingEntity;
 import org.apache.airavata.sharing.registry.db.entities.UserGroupEntity;
+import org.apache.airavata.sharing.registry.db.entities.UserGroupPK;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.models.GroupCardinality;
 import org.apache.airavata.sharing.registry.models.SharingRegistryException;
@@ -31,17 +32,19 @@ import org.slf4j.LoggerFactory;
 
 import java.util.List;
 
-public class UserGroupRepository extends AbstractRepository<UserGroup, UserGroupEntity, String> {
+public class UserGroupRepository extends AbstractRepository<UserGroup, UserGroupEntity, UserGroupPK> {
     private final static Logger logger = LoggerFactory.getLogger(UserGroupRepository.class);
 
     public UserGroupRepository() {
         super(UserGroup.class, UserGroupEntity.class);
     }
 
-    public List<UserGroup> getAccessibleGroups(String entityId, String permissionTypeId) throws SharingRegistryException {
+    public List<UserGroup> getAccessibleGroups(String domainId, String entityId, String permissionTypeId) throws SharingRegistryException {
         String query = "SELECT g from " + UserGroupEntity.class.getSimpleName() + " g, " + SharingEntity.class.getSimpleName() + " s";
         query += " WHERE ";
         query += "g." + DBConstants.UserGroupTable.GROUP_ID + " = s." + DBConstants.SharingTable.GROUP_ID + " AND ";
+        query += "g." + DBConstants.UserGroupTable.DOMAIN_ID + " = s." + DBConstants.SharingTable.DOMAIN_ID + " AND ";
+        query += "g." + DBConstants.UserGroupTable.DOMAIN_ID + " = '" + domainId + "' AND ";
         query += "s." + DBConstants.SharingTable.ENTITY_ID + " = '" + entityId + "' AND ";
         query += "s." + DBConstants.SharingTable.PERMISSION_TYPE_ID + " = '" + permissionTypeId + "' AND ";
         query += "g." + DBConstants.UserGroupTable.GROUP_CARDINALITY + " = '" + GroupCardinality.MULTI_USER.toString() + "'";

http://git-wip-us.apache.org/repos/asf/airavata/blob/b6e07d7b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserRepository.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserRepository.java b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserRepository.java
index 845c0b9..6df5d70 100644
--- a/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserRepository.java
+++ b/modules/sharing-registry/sharing-registry-server/src/main/java/org/apache/airavata/sharing/registry/db/repositories/UserRepository.java
@@ -22,7 +22,8 @@ package org.apache.airavata.sharing.registry.db.repositories;
 
 
 import org.apache.airavata.sharing.registry.db.entities.SharingEntity;
-import org.apache.airavata.sharing.registry.db.entities.SharingUserEntity;
+import org.apache.airavata.sharing.registry.db.entities.UserEntity;
+import org.apache.airavata.sharing.registry.db.entities.UserPK;
 import org.apache.airavata.sharing.registry.db.utils.DBConstants;
 import org.apache.airavata.sharing.registry.models.SharingRegistryException;
 import org.apache.airavata.sharing.registry.models.User;
@@ -31,18 +32,20 @@ import org.slf4j.LoggerFactory;
 
 import java.util.List;
 
-public class UserRepository extends AbstractRepository<User, SharingUserEntity, String> {
+public class UserRepository extends AbstractRepository<User, UserEntity, UserPK> {
     private final static Logger logger = LoggerFactory.getLogger(UserRepository.class);
 
     public UserRepository() {
-        super(User.class, SharingUserEntity.class);
+        super(User.class, UserEntity.class);
     }
 
 
-    public List<User> getAccessibleUsers(String entityId, String permissionTypeId) throws SharingRegistryException {
-        String query = "SELECT u from " + SharingUserEntity.class.getSimpleName() + " u, " + SharingEntity.class.getSimpleName() + " s";
+    public List<User> getAccessibleUsers(String domainId, String entityId, String permissionTypeId) throws SharingRegistryException {
+        String query = "SELECT u from " + UserEntity.class.getSimpleName() + " u, " + SharingEntity.class.getSimpleName() + " s";
         query += " WHERE ";
         query += "u." + DBConstants.UserTable.USER_ID + " = s." + DBConstants.SharingTable.GROUP_ID + " AND ";
+        query += "u." + DBConstants.UserTable.DOMAIN_ID + " = s." + DBConstants.SharingTable.DOMAIN_ID + " AND ";
+        query += "u." + DBConstants.UserTable.DOMAIN_ID + " = '" + domainId + "' AND ";
         query += "s." + DBConstants.SharingTable.ENTITY_ID + " = '" + entityId + "' AND ";
         query += "s." + DBConstants.SharingTable.PERMISSION_TYPE_ID + " = '" + permissionTypeId + "'";
         query += " ORDER BY s.createdTime DESC";