You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2017/02/15 19:25:30 UTC
airavata git commit: removing entity-type-id from sharing search
interface
Repository: airavata
Updated Branches:
refs/heads/develop 3072a7369 -> c8326ae62
removing entity-type-id from sharing search interface
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c8326ae6
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c8326ae6
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c8326ae6
Branch: refs/heads/develop
Commit: c8326ae6243f2bb31d4cd41e5dd5e89fe808c470
Parents: 3072a73
Author: scnakandala <su...@gmail.com>
Authored: Wed Feb 15 14:25:24 2017 -0500
Committer: scnakandala <su...@gmail.com>
Committed: Wed Feb 15 14:25:24 2017 -0500
----------------------------------------------------------------------
.../server/handler/AiravataServerHandler.java | 34 +++-
.../db/repositories/EntityRepository.java | 11 +-
.../server/SharingRegistryServerHandler.java | 4 +-
.../SharingRegistryServerHandlerTest.java | 9 +-
.../registry/SharingRegistryServiceTest.java | 165 +++++++++----------
.../registry/models/EntitySearchField.java | 5 +-
.../service/cpi/SharingRegistryService.java | 151 +++--------------
.../api-docs/sharing_cpi.html | 1 -
.../api-docs/sharing_models.html | 9 +-
.../sharing-service-docs/index.html | 6 +
.../thrift_models/sharing_cpi.thrift | 2 +-
.../thrift_models/sharing_models.thrift | 3 +-
12 files changed, 168 insertions(+), 232 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 d4479b3..f7c2380 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
@@ -825,9 +825,14 @@ public class AiravataServerHandler implements Airavata.Iface {
if (ServerSettings.isEnableSharing()){
// user projects + user accessible projects
List<String> accessibleProjectIds = new ArrayList<>();
+ List<SearchCriteria> filters = new ArrayList<>();
+ SearchCriteria searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+ searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+ searchCriteria.setValue(gatewayId + ":PROJECT");
+ filters.add(searchCriteria);
getSharingRegistryServiceClient().searchEntities(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
- userName+"@"+gatewayId , gatewayId+":PROJECT",
- new ArrayList<>(), offset, limit).stream().forEach(p->accessibleProjectIds.add(p.entityId));
+ userName + "@" + gatewayId, filters, offset, limit).stream().forEach(p -> accessibleProjectIds.add(p.entityId));
return getRegistryServiceClient().searchProjects(gatewayId, userName, accessibleProjectIds, new HashMap<>(), limit, offset);
}else{
return getRegistryServiceClient().getUserProjects(gatewayId, userName, limit, offset);
@@ -870,11 +875,16 @@ public class AiravataServerHandler implements Airavata.Iface {
try {
List<String> accessibleProjIds = new ArrayList<>();
- if(ServerSettings.isEnableSharing())
+ if (ServerSettings.isEnableSharing()) {
+ List<SearchCriteria> sharingFilters = new ArrayList<>();
+ SearchCriteria searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+ searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+ searchCriteria.setValue(gatewayId + ":PROJECT");
+ sharingFilters.add(searchCriteria);
getSharingRegistryServiceClient().searchEntities(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
- userName+"@"+gatewayId, gatewayId+":PROJECT",
- new ArrayList<>(), 0, -1).stream().forEach(e->accessibleProjIds.add(e.entityId));
-
+ userName + "@" + gatewayId, sharingFilters, 0, -1).stream().forEach(e -> accessibleProjIds.add(e.entityId));
+ }
return getRegistryServiceClient().searchProjects(gatewayId, userName, accessibleProjIds, filters, limit, offset);
}catch (Exception e) {
logger.error("Error while retrieving projects", e);
@@ -908,10 +918,16 @@ public class AiravataServerHandler implements Airavata.Iface {
throws InvalidRequestException, AiravataClientException, AiravataSystemException, AuthorizationException, TException {
try {
List<String> accessibleExpIds = new ArrayList<>();
- if(ServerSettings.isEnableSharing())
+ if (ServerSettings.isEnableSharing()) {
+ List<SearchCriteria> sharingFilters = new ArrayList<>();
+ SearchCriteria searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+ searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+ searchCriteria.setValue(gatewayId + ":EXPERIMENT");
+ sharingFilters.add(searchCriteria);
getSharingRegistryServiceClient().searchEntities(authzToken.getClaimsMap().get(Constants.GATEWAY_ID),
- userName+"@"+gatewayId, gatewayId+":EXPERIMENT",
- new ArrayList<>(), 0, -1).forEach(e->accessibleExpIds.add(e.entityId));
+ userName + "@" + gatewayId, sharingFilters, 0, -1).forEach(e -> accessibleExpIds.add(e.entityId));
+ }
return getRegistryServiceClient().searchExperiments(gatewayId, userName, accessibleExpIds, filters, limit, offset);
}catch (Exception e) {
logger.error("Error while retrieving experiments", e);
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 b470f11..57f364e 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
@@ -48,7 +48,7 @@ public class EntityRepository extends AbstractRepository<Entity, EntityEntity, E
return select(filters, 0, -1);
}
- public List<Entity> searchEntities(String domainId, List<String> groupIds, String entityTypeId, List<SearchCriteria> filters,
+ public List<Entity> searchEntities(String domainId, List<String> groupIds, List<SearchCriteria> filters,
int offset, int limit) throws SharingRegistryException {
String groupIdString = "'";
for(String groupId : groupIds)
@@ -56,8 +56,7 @@ public class EntityRepository extends AbstractRepository<Entity, EntityEntity, E
groupIdString = groupIdString.substring(0, groupIdString.length()-2);
String query = "SELECT E.* FROM ENTITY AS E INNER JOIN SHARING AS S ON (E.ENTITY_ID=S.ENTITY_ID AND E.DOMAIN_ID=S.DOMAIN_ID) WHERE " +
- "E.DOMAIN_ID = '" + domainId + "' AND " + "S.GROUP_ID IN(" + groupIdString + ") AND E." +
- "ENTITY_TYPE_ID" + "='" + entityTypeId + "' AND ";
+ "E.DOMAIN_ID = '" + domainId + "' AND " + "S.GROUP_ID IN(" + groupIdString + ") AND ";
for(SearchCriteria searchCriteria : filters){
if(searchCriteria.getSearchField().equals(EntitySearchField.NAME)){
@@ -104,6 +103,12 @@ public class EntityRepository extends AbstractRepository<Entity, EntityEntity, E
} else {
query += "E.OWNER_ID = '" + searchCriteria.getValue() + "' AND ";
}
+ } else if (searchCriteria.getSearchField().equals(EntitySearchField.ENTITY_TYPE_ID)) {
+ if (searchCriteria.getSearchCondition() != null && searchCriteria.getSearchCondition().equals(SearchCondition.NOT)) {
+ query += "E.ENTITY_TYPE_ID != '" + searchCriteria.getValue() + "' AND ";
+ } else {
+ query += "E.ENTITY_TYPE_ID = '" + searchCriteria.getValue() + "' AND ";
+ }
}else if(searchCriteria.getSearchField().equals(EntitySearchField.CREATED_TIME)){
if(searchCriteria.getSearchCondition().equals(SearchCondition.GTE)){
query += "E.CREATED_TIME >= " + Integer.parseInt(searchCriteria.getValue().trim()) + " AND ";
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 5adf499..34a4a21 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
@@ -688,13 +688,13 @@ public class SharingRegistryServerHandler implements SharingRegistryService.Ifac
}
@Override
- public List<Entity> searchEntities(String domainId, String userId, String entityTypeId, List<SearchCriteria> filters,
+ public List<Entity> searchEntities(String domainId, String userId, List<SearchCriteria> filters,
int offset, int limit) throws SharingRegistryException, TException {
try{
List<String> groupIds = new ArrayList<>();
groupIds.add(userId);
(new GroupMembershipRepository()).getAllParentMembershipsForChild(domainId, userId).stream().forEach(gm -> groupIds.add(gm.parentId));
- return (new EntityRepository()).searchEntities(domainId, groupIds, entityTypeId, filters, offset, limit);
+ return (new EntityRepository()).searchEntities(domainId, groupIds, filters, offset, limit);
}catch (SharingRegistryException ex) {
logger.error(ex.getMessage(), ex);
throw ex;
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 804f678..627d0e1 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
@@ -267,7 +267,14 @@ public class SharingRegistryServerHandlerTest {
searchCriteria.setValue("Input");
searchCriteria.setSearchField(EntitySearchField.NAME);
filters.add(searchCriteria);
- Assert.assertTrue(sharingRegistryServerHandler.searchEntities(domainId, userId1, entityTypeId3, filters, 0, -1).size() > 0);
+
+ searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+ searchCriteria.setValue(entityTypeId3);
+ searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+ filters.add(searchCriteria);
+
+ Assert.assertTrue(sharingRegistryServerHandler.searchEntities(domainId, userId1, filters, 0, -1).size() > 0);
Assert.assertNotNull(sharingRegistryServerHandler.getListOfSharedUsers(domainId, entityId1, permissionTypeId1));
Assert.assertNotNull(sharingRegistryServerHandler.getListOfSharedGroups(domainId, entityId1, permissionTypeId1));
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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
index 78823ae..588097c 100644
--- 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
@@ -20,8 +20,8 @@
*/
package org.apache.airavata.sharing.registry;
-import junit.framework.Assert;
import org.apache.airavata.sharing.registry.models.*;
+import org.apache.airavata.sharing.registry.server.ServerMain;
import org.apache.airavata.sharing.registry.service.cpi.SharingRegistryService;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
@@ -29,6 +29,7 @@ import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import org.databene.contiperf.junit.ContiPerfRule;
+import org.junit.Assert;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
@@ -46,16 +47,16 @@ public class SharingRegistryServiceTest {
@BeforeClass
public static void setUp() throws InterruptedException {
-// ServerMain serverMain = new ServerMain();
-// serverMain.main(new String[]{});
-// Thread.sleep(1000*2);
+ ServerMain serverMain = new ServerMain();
+ serverMain.main(new String[]{});
+ Thread.sleep(1000 * 2);
}
@Test
// @PerfTest(invocations = 50, threads = 10)
public void test() throws TException, InterruptedException {
- String serverHost = "gw56.iu.xsede.org";
+ String serverHost = "localhost";
int serverPort = 7878;
TTransport transport = new TSocket(serverHost, serverPort);
@@ -248,94 +249,90 @@ public class SharingRegistryServiceTest {
entity2.setFullText("test experiment 1 benzene");
sharingServiceClient.createEntity(entity2);
-//
-// Entity entity3 = new Entity();
-// entity3.setEntityId("test-experiment-2");
-// entity3.setDomainId(domainId);
-// entity3.setEntityTypeId("EXPERIMENT");
-// entity3.setOwnerId("test-user-1");
-// entity3.setName("test-experiment-2");
-// entity3.setDescription("test experiment 2 description");
-// entity3.setParentEntityId("test-project-1");
-// entity3.setFullText("test experiment 1 3-methyl 1-butanol stampede");
-// sharingServiceClient.createEntity(entity3);
+ Entity entity3 = new Entity();
+ entity3.setEntityId("test-experiment-2");
+ entity3.setDomainId(domainId);
+ entity3.setEntityTypeId("EXPERIMENT");
+ entity3.setOwnerId("test-user-1");
+ entity3.setName("test-experiment-2");
+ entity3.setDescription("test experiment 2 description");
+ entity3.setParentEntityId("test-project-1");
+ entity3.setFullText("test experiment 1 3-methyl 1-butanol stampede");
+ sharingServiceClient.createEntity(entity3);
+
+
+ Entity entity4 = new Entity();
+ entity4.setEntityId("test-file-1");
+ entity4.setDomainId(domainId);
+ entity4.setEntityTypeId("FILE");
+ entity4.setOwnerId("test-user-1");
+ entity4.setName("test-file-1");
+ entity4.setDescription("test file 1 description");
+ entity4.setParentEntityId("test-experiment-2");
+ entity4.setFullText("test input file 1 for experiment 2");
+ sharingServiceClient.createEntity(entity4);
+
+ sharingServiceClient.shareEntityWithUsers(domainId, "test-project-1", Arrays.asList("test-user-2"), "WRITE", true);
+ sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "READ", true);
+ sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "CLONE", false);
+
+ //true
+ Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-project-1", "WRITE"));
+ //true
+ Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "WRITE"));
+ //true
Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "WRITE"));
+ //false
+ Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "READ"));
+ //true
+ Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "READ"));
+
+ //false
+ Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-project-1", "READ"));
+ //true
+ Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "READ"));
+ //false
+ Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "WRITE"));
+
+ //true
+ Assert.assertTrue((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "CLONE")));
+ //false
+ Assert.assertFalse((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-file-1", "CLONE")));
+
ArrayList<SearchCriteria> filters = new ArrayList<>();
SearchCriteria searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchCondition(SearchCondition.FULL_TEXT);
+ searchCriteria.setValue("experiment");
+ searchCriteria.setSearchField(EntitySearchField.FULL_TEXT);
+ filters.add(searchCriteria);
+
+ searchCriteria = new SearchCriteria();
searchCriteria.setSearchCondition(SearchCondition.EQUAL);
- searchCriteria.setValue("WRITE");
+ searchCriteria.setValue("EXPERIMENT");
+ searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+ filters.add(searchCriteria);
+
+ searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+ searchCriteria.setValue("READ");
searchCriteria.setSearchField(EntitySearchField.PERMISSION_TYPE_ID);
filters.add(searchCriteria);
- Assert.assertTrue(sharingServiceClient.searchEntities(domainId, "test-user-2", "EXPERIMENT", filters, 0, -1).size() > 0);
-
-// Entity entity4 = new Entity();
-// entity4.setEntityId("test-file-1");
-// entity4.setDomainId(domainId);
-// entity4.setEntityTypeId("FILE");
-// entity4.setOwnerId("test-user-1");
-// entity4.setName("test-file-1");
-// entity4.setDescription("test file 1 description");
-// entity4.setParentEntityId("test-experiment-2");
-// entity4.setFullText("test input file 1 for experiment 2");
-// sharingServiceClient.createEntity(entity4);
-
-// sharingServiceClient.shareEntityWithUsers(domainId, "test-project-1", Arrays.asList("test-user-2"), "WRITE", true);
-// sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "READ", true);
-// sharingServiceClient.shareEntityWithGroups(domainId, "test-experiment-2", Arrays.asList("test-group-2"), "CLONE", false);
-//
-// //true
-// Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-project-1", "WRITE"));
-// //true
-// Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "WRITE"));
-// //true
-// Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "WRITE"));
-//
-// //false
-// Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-1", "READ"));
-// //true
-// Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-2", "test-experiment-2", "READ"));
-//
-// //false
-// Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-project-1", "READ"));
-// //true
-// Assert.assertTrue(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "READ"));
-// //false
-// Assert.assertFalse(sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "WRITE"));
-//
-// //true
-// Assert.assertTrue((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-experiment-2", "CLONE")));
-// //false
-// Assert.assertFalse((sharingServiceClient.userHasAccess(domainId, "test-user-3", "test-file-1", "CLONE")));
-//
-// ArrayList<SearchCriteria> filters = new ArrayList<>();
-// SearchCriteria searchCriteria = new SearchCriteria();
-// searchCriteria.setSearchCondition(SearchCondition.FULL_TEXT);
-// searchCriteria.setValue("experiment");
-// searchCriteria.setSearchField(EntitySearchField.FULL_TEXT);
-// filters.add(searchCriteria);
-//
-// searchCriteria = new SearchCriteria();
-// searchCriteria.setSearchCondition(SearchCondition.EQUAL);
-// searchCriteria.setValue("READ");
-// searchCriteria.setSearchField(EntitySearchField.PERMISSION_TYPE_ID);
-// filters.add(searchCriteria);
-//
-// Assert.assertTrue(sharingServiceClient.searchEntities(domainId, "test-user-2", "EXPERIMENT", filters, 0, -1).size()==1);
-// Entity persistedEntity = sharingServiceClient.searchEntities(
-// domainId, "test-user-2", "EXPERIMENT", filters, 0, -1).get(0);
-// Assert.assertEquals(entity3.getName(), persistedEntity.getName());
-// Assert.assertEquals(entity3.getDescription(), persistedEntity.getDescription());
-// Assert.assertEquals(entity3.getFullText(), persistedEntity.getFullText());
-//
-// searchCriteria = new SearchCriteria();
-// searchCriteria.setSearchCondition(SearchCondition.NOT);
-// searchCriteria.setValue("test-user-1");
-// searchCriteria.setSearchField(EntitySearchField.OWNER_ID);
-// filters.add(searchCriteria);
-// Assert.assertTrue(sharingServiceClient.searchEntities(domainId, "test-user-2", "EXPERIMENT", filters, 0, -1).size() == 0);
+ Assert.assertTrue(sharingServiceClient.searchEntities(domainId, "test-user-2", filters, 0, -1).size() == 1);
+ Entity persistedEntity = sharingServiceClient.searchEntities(
+ domainId, "test-user-2", filters, 0, -1).get(0);
+ Assert.assertEquals(entity3.getName(), persistedEntity.getName());
+ Assert.assertEquals(entity3.getDescription(), persistedEntity.getDescription());
+ Assert.assertEquals(entity3.getFullText(), persistedEntity.getFullText());
+
+ searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchCondition(SearchCondition.NOT);
+ searchCriteria.setValue("test-user-1");
+ searchCriteria.setSearchField(EntitySearchField.OWNER_ID);
+ filters.add(searchCriteria);
+ Assert.assertTrue(sharingServiceClient.searchEntities(domainId, "test-user-2", filters, 0, -1).size() == 0);
transport.close();
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
----------------------------------------------------------------------
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
index 5b0f66c..91d245f 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
@@ -30,7 +30,8 @@ public enum EntitySearchField implements org.apache.thrift.TEnum {
OWNER_ID(4),
PERMISSION_TYPE_ID(5),
CREATED_TIME(6),
- UPDATED_TIME(7);
+ UPDATED_TIME(7),
+ ENTITY_TYPE_ID(8);
private final int value;
@@ -67,6 +68,8 @@ public enum EntitySearchField implements org.apache.thrift.TEnum {
return CREATED_TIME;
case 7:
return UPDATED_TIME;
+ case 8:
+ return ENTITY_TYPE_ID;
default:
return null;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 9e69d8a..2fc5691 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
@@ -286,12 +286,11 @@ public class SharingRegistryService {
*
* @param domainId
* @param userId
- * @param entityTypeId
* @param filters
* @param offset
* @param limit
*/
- 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;
+ public List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(String domainId, String userId, 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>
@@ -466,7 +465,7 @@ public class SharingRegistryService {
public void getEntity(String domainId, String entityId, 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 searchEntities(String domainId, String userId, 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 domainId, String entityId, String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws org.apache.thrift.TException;
@@ -1320,18 +1319,17 @@ 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 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
+ public List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(String domainId, String userId, 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(domainId, userId, entityTypeId, filters, offset, limit);
+ send_searchEntities(domainId, userId, filters, offset, limit);
return recv_searchEntities();
}
- 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
+ public void send_searchEntities(String domainId, String userId, 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);
args.setOffset(offset);
args.setLimit(limit);
@@ -2753,9 +2751,9 @@ public class SharingRegistryService {
}
}
- 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 searchEntities(String domainId, String userId, 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(domainId, userId, entityTypeId, filters, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
+ searchEntities_call method_call = new searchEntities_call(domainId, userId, filters, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
this.___currentMethod = method_call;
___manager.call(method_call);
}
@@ -2763,15 +2761,14 @@ public class SharingRegistryService {
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 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 {
+
+ public searchEntities_call(String domainId, String userId, 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;
this.offset = offset;
this.limit = limit;
@@ -2782,7 +2779,6 @@ public class SharingRegistryService {
searchEntities_args args = new searchEntities_args();
args.setDomainId(domainId);
args.setUserId(userId);
- args.setEntityTypeId(entityTypeId);
args.setFilters(filters);
args.setOffset(offset);
args.setLimit(limit);
@@ -4064,7 +4060,7 @@ public class SharingRegistryService {
public searchEntities_result getResult(I iface, searchEntities_args args) throws org.apache.thrift.TException {
searchEntities_result result = new searchEntities_result();
try {
- result.success = iface.searchEntities(args.domainId, args.userId, args.entityTypeId, args.filters, args.offset, args.limit);
+ result.success = iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit);
} catch (org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
result.sre = sre;
}
@@ -6197,7 +6193,7 @@ public class SharingRegistryService {
}
public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws TException {
- iface.searchEntities(args.domainId, args.userId, args.entityTypeId, args.filters, args.offset, args.limit,resultHandler);
+ iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit, resultHandler);
}
}
@@ -34898,10 +34894,9 @@ public class SharingRegistryService {
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)1);
private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (short)2);
- private static final org.apache.thrift.protocol.TField ENTITY_TYPE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("entityTypeId", org.apache.thrift.protocol.TType.STRING, (short)3);
- private static final org.apache.thrift.protocol.TField FILTERS_FIELD_DESC = new org.apache.thrift.protocol.TField("filters", org.apache.thrift.protocol.TType.LIST, (short)4);
- private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short)5);
- private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short)6);
+ private static final org.apache.thrift.protocol.TField FILTERS_FIELD_DESC = new org.apache.thrift.protocol.TField("filters", org.apache.thrift.protocol.TType.LIST, (short) 3);
+ private static final org.apache.thrift.protocol.TField OFFSET_FIELD_DESC = new org.apache.thrift.protocol.TField("offset", org.apache.thrift.protocol.TType.I32, (short) 4);
+ private static final org.apache.thrift.protocol.TField LIMIT_FIELD_DESC = new org.apache.thrift.protocol.TField("limit", org.apache.thrift.protocol.TType.I32, (short) 5);
private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
static {
@@ -34911,7 +34906,6 @@ public class SharingRegistryService {
public String domainId; // required
public String userId; // required
- public String entityTypeId; // required
public List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters; // required
public int offset; // required
public int limit; // required
@@ -34920,10 +34914,9 @@ public class SharingRegistryService {
public enum _Fields implements org.apache.thrift.TFieldIdEnum {
DOMAIN_ID((short)1, "domainId"),
USER_ID((short)2, "userId"),
- ENTITY_TYPE_ID((short)3, "entityTypeId"),
- FILTERS((short)4, "filters"),
- OFFSET((short)5, "offset"),
- LIMIT((short)6, "limit");
+ FILTERS((short) 3, "filters"),
+ OFFSET((short) 4, "offset"),
+ LIMIT((short) 5, "limit");
private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
@@ -34942,13 +34935,11 @@ public class SharingRegistryService {
return DOMAIN_ID;
case 2: // USER_ID
return USER_ID;
- case 3: // ENTITY_TYPE_ID
- return ENTITY_TYPE_ID;
- case 4: // FILTERS
+ case 3: // FILTERS
return FILTERS;
- case 5: // OFFSET
+ case 4: // OFFSET
return OFFSET;
- case 6: // LIMIT
+ case 5: // LIMIT
return LIMIT;
default:
return null;
@@ -35000,8 +34991,6 @@ public class SharingRegistryService {
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
- tmpMap.put(_Fields.ENTITY_TYPE_ID, new org.apache.thrift.meta_data.FieldMetaData("entityTypeId", org.apache.thrift.TFieldRequirementType.REQUIRED,
- new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
tmpMap.put(_Fields.FILTERS, new org.apache.thrift.meta_data.FieldMetaData("filters", org.apache.thrift.TFieldRequirementType.REQUIRED,
new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST,
new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.sharing.registry.models.SearchCriteria.class))));
@@ -35019,7 +35008,6 @@ public class SharingRegistryService {
public searchEntities_args(
String domainId,
String userId,
- String entityTypeId,
List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters,
int offset,
int limit)
@@ -35027,7 +35015,6 @@ public class SharingRegistryService {
this();
this.domainId = domainId;
this.userId = userId;
- this.entityTypeId = entityTypeId;
this.filters = filters;
this.offset = offset;
setOffsetIsSet(true);
@@ -35046,9 +35033,6 @@ public class SharingRegistryService {
if (other.isSetUserId()) {
this.userId = other.userId;
}
- if (other.isSetEntityTypeId()) {
- this.entityTypeId = other.entityTypeId;
- }
if (other.isSetFilters()) {
List<org.apache.airavata.sharing.registry.models.SearchCriteria> __this__filters = new ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(other.filters.size());
for (org.apache.airavata.sharing.registry.models.SearchCriteria other_element : other.filters) {
@@ -35068,7 +35052,6 @@ public class SharingRegistryService {
public void clear() {
this.domainId = null;
this.userId = null;
- this.entityTypeId = null;
this.filters = null;
setOffsetIsSet(false);
this.offset = 0;
@@ -35124,30 +35107,6 @@ public class SharingRegistryService {
}
}
- public String getEntityTypeId() {
- return this.entityTypeId;
- }
-
- public searchEntities_args setEntityTypeId(String entityTypeId) {
- this.entityTypeId = entityTypeId;
- return this;
- }
-
- public void unsetEntityTypeId() {
- this.entityTypeId = null;
- }
-
- /** Returns true if field entityTypeId is set (has been assigned a value) and false otherwise */
- public boolean isSetEntityTypeId() {
- return this.entityTypeId != null;
- }
-
- public void setEntityTypeIdIsSet(boolean value) {
- if (!value) {
- this.entityTypeId = null;
- }
- }
-
public int getFiltersSize() {
return (this.filters == null) ? 0 : this.filters.size();
}
@@ -35251,14 +35210,6 @@ public class SharingRegistryService {
}
break;
- case ENTITY_TYPE_ID:
- if (value == null) {
- unsetEntityTypeId();
- } else {
- setEntityTypeId((String)value);
- }
- break;
-
case FILTERS:
if (value == null) {
unsetFilters();
@@ -35294,9 +35245,6 @@ public class SharingRegistryService {
case USER_ID:
return getUserId();
- case ENTITY_TYPE_ID:
- return getEntityTypeId();
-
case FILTERS:
return getFilters();
@@ -35321,8 +35269,6 @@ public class SharingRegistryService {
return isSetDomainId();
case USER_ID:
return isSetUserId();
- case ENTITY_TYPE_ID:
- return isSetEntityTypeId();
case FILTERS:
return isSetFilters();
case OFFSET:
@@ -35364,15 +35310,6 @@ public class SharingRegistryService {
return false;
}
- boolean this_present_entityTypeId = true && this.isSetEntityTypeId();
- boolean that_present_entityTypeId = true && that.isSetEntityTypeId();
- if (this_present_entityTypeId || that_present_entityTypeId) {
- if (!(this_present_entityTypeId && that_present_entityTypeId))
- return false;
- if (!this.entityTypeId.equals(that.entityTypeId))
- return false;
- }
-
boolean this_present_filters = true && this.isSetFilters();
boolean that_present_filters = true && that.isSetFilters();
if (this_present_filters || that_present_filters) {
@@ -35417,11 +35354,6 @@ public class SharingRegistryService {
if (present_userId)
list.add(userId);
- boolean present_entityTypeId = true && (isSetEntityTypeId());
- list.add(present_entityTypeId);
- if (present_entityTypeId)
- list.add(entityTypeId);
-
boolean present_filters = true && (isSetFilters());
list.add(present_filters);
if (present_filters)
@@ -35468,16 +35400,6 @@ public class SharingRegistryService {
return lastComparison;
}
}
- lastComparison = Boolean.valueOf(isSetEntityTypeId()).compareTo(other.isSetEntityTypeId());
- if (lastComparison != 0) {
- return lastComparison;
- }
- if (isSetEntityTypeId()) {
- lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.entityTypeId, other.entityTypeId);
- if (lastComparison != 0) {
- return lastComparison;
- }
- }
lastComparison = Boolean.valueOf(isSetFilters()).compareTo(other.isSetFilters());
if (lastComparison != 0) {
return lastComparison;
@@ -35544,14 +35466,6 @@ public class SharingRegistryService {
}
first = false;
if (!first) sb.append(", ");
- sb.append("entityTypeId:");
- if (this.entityTypeId == null) {
- sb.append("null");
- } else {
- sb.append(this.entityTypeId);
- }
- first = false;
- if (!first) sb.append(", ");
sb.append("filters:");
if (this.filters == null) {
sb.append("null");
@@ -35579,9 +35493,6 @@ public class SharingRegistryService {
if (userId == null) {
throw new org.apache.thrift.protocol.TProtocolException("Required field 'userId' was not present! Struct: " + toString());
}
- if (entityTypeId == null) {
- throw new org.apache.thrift.protocol.TProtocolException("Required field 'entityTypeId' was not present! Struct: " + toString());
- }
if (filters == null) {
throw new org.apache.thrift.protocol.TProtocolException("Required field 'filters' was not present! Struct: " + toString());
}
@@ -35642,15 +35553,7 @@ public class SharingRegistryService {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 3: // ENTITY_TYPE_ID
- if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
- struct.entityTypeId = iprot.readString();
- struct.setEntityTypeIdIsSet(true);
- } else {
- org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
- }
- break;
- case 4: // FILTERS
+ case 3: // FILTERS
if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
{
org.apache.thrift.protocol.TList _list72 = iprot.readListBegin();
@@ -35669,7 +35572,7 @@ public class SharingRegistryService {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 5: // OFFSET
+ case 4: // OFFSET
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.offset = iprot.readI32();
struct.setOffsetIsSet(true);
@@ -35677,7 +35580,7 @@ public class SharingRegistryService {
org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
}
break;
- case 6: // LIMIT
+ case 5: // LIMIT
if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
struct.limit = iprot.readI32();
struct.setLimitIsSet(true);
@@ -35716,11 +35619,6 @@ public class SharingRegistryService {
oprot.writeString(struct.userId);
oprot.writeFieldEnd();
}
- if (struct.entityTypeId != null) {
- oprot.writeFieldBegin(ENTITY_TYPE_ID_FIELD_DESC);
- oprot.writeString(struct.entityTypeId);
- oprot.writeFieldEnd();
- }
if (struct.filters != null) {
oprot.writeFieldBegin(FILTERS_FIELD_DESC);
{
@@ -35758,7 +35656,6 @@ public class SharingRegistryService {
TTupleProtocol oprot = (TTupleProtocol) prot;
oprot.writeString(struct.domainId);
oprot.writeString(struct.userId);
- oprot.writeString(struct.entityTypeId);
{
oprot.writeI32(struct.filters.size());
for (org.apache.airavata.sharing.registry.models.SearchCriteria _iter76 : struct.filters)
@@ -35777,8 +35674,6 @@ public class SharingRegistryService {
struct.setDomainIdIsSet(true);
struct.userId = iprot.readString();
struct.setUserIdIsSet(true);
- struct.entityTypeId = iprot.readString();
- struct.setEntityTypeIdIsSet(true);
{
org.apache.thrift.protocol.TList _list77 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
struct.filters = new ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list77.size);
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 fc081dc..5ec6076 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
@@ -215,7 +215,6 @@
<br/></div><div class="definition"><h4 id="Fn_SharingRegistryService_searchEntities">Function: SharingRegistryService.searchEntities</h4>
<pre><code>list<<code><a href="sharing_models.html#Struct_Entity">sharing_models.Entity</a></code>></code> searchEntities(<code>string</code> domainId,
<code>string</code> userId,
- <code>string</code> entityTypeId,
<code>list<<code><a href="sharing_models.html#Struct_SearchCriteria">sharing_models.SearchCriteria</a></code>></code> filters,
<code>i32</code> offset,
<code>i32</code> limit)
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 2f1c57e..c21add8 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
@@ -70,6 +70,7 @@ considered as a group in it's own right for implementation ease</p>
<li>OWNER_ID : Owner of the entity</li>
<li>CREATED_TIME : Created time of the entity</li>
<li>UPDATED_TIME : Updated time of the entity</li>
+ <li>ENTITY_TYPE_ID : Entity type ID</li>
<br/><br/><table class="table-bordered table-striped table-condensed">
<tr><td><code>NAME</code></td><td><code>0</code></td><td>
@@ -88,10 +89,16 @@ considered as a group in it's own right for implementation ease</p>
</td></tr>
<tr><td><code>UPDATED_TIME</code></td><td><code>7</code></td><td>
</td></tr>
+ <tr>
+ <td><code>ENTITY_TYPE_ID</code></td>
+ <td><code>8</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, permission type id, and parent entity id</li>
+ <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>
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 7940956..674aa61 100644
--- a/modules/sharing-registry/sharing-service-docs/index.html
+++ b/modules/sharing-registry/sharing-service-docs/index.html
@@ -348,6 +348,12 @@
searchCriteria = new SearchCriteria();
searchCriteria.setSearchCondition(SearchCondition.EQUAL);
+ searchCriteria.setValue("EXPERIMENT");
+ searchCriteria.setSearchField(EntitySearchField.ENTITY_TYPE_ID);
+ filters.add(searchCriteria);
+
+ searchCriteria = new SearchCriteria();
+ searchCriteria.setSearchCondition(SearchCondition.EQUAL);
searchCriteria.setValue("READ");
searchCriteria.setSearchField(EntitySearchField.PERMISSION_TYPE_ID);
filters.add(searchCriteria);
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 7dd0775..5cd837e 100644
--- a/modules/sharing-registry/thrift_models/sharing_cpi.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_cpi.thrift
@@ -156,7 +156,7 @@ service SharingRegistryService {
/**
<p>API method to search entities</p>
*/
- 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)
+ list<sharing_models.Entity> searchEntities(1: required string domainId, 2: required string userId, 3: required list<sharing_models.SearchCriteria> filters, 4: required i32 offset, 5: required i32 limit) throws (1: sharing_models.SharingRegistryException sre)
/**
<p>API method to get a list of shared users given the entity id</p>
*/
http://git-wip-us.apache.org/repos/asf/airavata/blob/c8326ae6/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 d57eb09..c646c85 100644
--- a/modules/sharing-registry/thrift_models/sharing_models.thrift
+++ b/modules/sharing-registry/thrift_models/sharing_models.thrift
@@ -163,7 +163,8 @@ enum EntitySearchField {
OWNER_ID,
PERMISSION_TYPE_ID,
CREATED_TIME,
- UPDATED_TIME
+ UPDATED_TIME,
+ ENTITY_TYPE_ID
}
/**