Ravi Nori has uploaded a new change for review.

Change subject: restapi : Add group doesn't work (#882710)
......................................................................

restapi : Add group doesn't work (#882710)

Adding a group using api requires authetication using the
domain from which we are adding the group.

This patch adds the ability to add groups from domains
identified by the group name. Also lets the user add
groups by id.

Change-Id: I20927d4732af6a22702c65c0f32f072039cb82e9
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=882710
Signed-off-by: Ravi Nori <rn...@redhat.com>
---
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
1 file changed, 23 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/92/9692/1

diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
index 82d7546..7c7cd5f 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/BackendGroupsResourceBase.java
@@ -100,6 +100,10 @@
     }
 
     protected String getSearchPattern(String param) {
+        return getSearchPattern(param, null);
+    }
+
+    protected String getSearchPattern(String param, String domain) {
         String constraint = QueryHelper.getConstraint(getUriInfo(), 
ad_groups.class, false);
         final StringBuilder sb = new StringBuilder(128);
 
@@ -107,7 +111,10 @@
                   parent!=null?
                         parent.getDirectory().getName()
                         :
-                        getCurrent().get(Principal.class).getDomain()));
+                        domain==null?
+                              getCurrent().get(Principal.class).getDomain()
+                              :
+                              domain));
 
         sb.append(StringHelper.isNullOrEmpty(constraint)?
                         "name="+param
@@ -118,15 +125,28 @@
     }
 
     protected ad_groups getAdGroup(Group group) {
+        if(group.getId() != null) {
+            ad_groups ad_group = lookupGroupById(asGuid(group.getId()));
+            return ad_group == null ? entityNotFound() : ad_group;
+        }
+
         List<ad_groups> adGroups = asCollection(getEntity(ArrayList.class,
                                                           SearchType.AdGroup,
-                                                          
getSearchPattern("*")));
+                                                          
getSearchPattern("*", getDomainName(group.getName()))));
         for (ad_groups adGroup : adGroups) {
             if (adGroup.getname().equals(group.getName())) {
                 return adGroup;
             }
         }
-        return handleError(new EntityNotFoundException(group.getName()), true);
+        return entityNotFound();
+    }
+
+    private String getDomainName(String groupName) {
+        int index = groupName.indexOf("/");
+        if(index == -1) {
+            return null;
+        }
+        return groupName.substring(0, index);
     }
 
     protected List<ad_groups> getGroupsFromDomain() {


--
To view, visit http://gerrit.ovirt.org/9692
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I20927d4732af6a22702c65c0f32f072039cb82e9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ravi Nori <rn...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to