Yair Zaslavsky has uploaded a new change for review.

Change subject: core: Propagate ldap query error properly to UI
......................................................................

core: Propagate ldap query error properly to UI

This patch uses the fact DirectorySearcher holds the
exception that occured (if not a RuntimeException, but
a checked exception) as a field.
The error is already properly propagated to UI in case
of RuntimeException.

Change-Id: If06e251ec31f208dd0e25084d5aaa37625d299cc
Bug-Url: https://bugzilla.redhat.com/903786/
Signed-off-by: Yair Zaslavsky <[email protected]>
---
M 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/adbroker/LdapBrokerCommandBase.java
1 file changed, 9 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/56/15556/1

diff --git 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/adbroker/LdapBrokerCommandBase.java
 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/adbroker/LdapBrokerCommandBase.java
index 3797e7c..89bcc96 100644
--- 
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/adbroker/LdapBrokerCommandBase.java
+++ 
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/adbroker/LdapBrokerCommandBase.java
@@ -6,10 +6,9 @@
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
-
 import org.ovirt.engine.core.bll.session.SessionDataContainer;
-import org.ovirt.engine.core.common.businessentities.LdapUser;
 import org.ovirt.engine.core.common.businessentities.LdapGroup;
+import org.ovirt.engine.core.common.businessentities.LdapUser;
 import org.ovirt.engine.core.common.interfaces.IVdcUser;
 import org.ovirt.engine.core.dal.VdcBllMessages;
 import org.ovirt.engine.core.dal.dbbroker.DbFacade;
@@ -61,6 +60,7 @@
 
     @Override
     public LdapReturnValueBase execute() {
+        boolean exceptionOccured = false;
         try {
             log.debugFormat("Running LDAP command: {0}", getClass().getName());
             String loginNameForKerberos =
@@ -68,10 +68,16 @@
             LdapCredentials ldapCredentials = new 
LdapCredentials(loginNameForKerberos, getPassword());
             DirectorySearcher directorySearcher = new 
DirectorySearcher(ldapCredentials);
             executeQuery(directorySearcher);
+            exceptionOccured = directorySearcher.getException() != null;
         } catch (RuntimeException e) {
             log.error(String.format("Failed to run command %s. Domain is %s. 
User is %s.",
                     getClass().getSimpleName(), getDomain(), getLoginName()));
-            
_ldapReturnValue.setExceptionString(VdcBllMessages.FAILED_TO_RUN_LDAP_QUERY.name());
+        }
+ finally {
+            if (exceptionOccured) {
+                
_ldapReturnValue.setExceptionString(VdcBllMessages.FAILED_TO_RUN_LDAP_QUERY.name());
+                _ldapReturnValue.setSucceeded(false);
+            }
         }
         return _ldapReturnValue;
     }


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: If06e251ec31f208dd0e25084d5aaa37625d299cc
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yair Zaslavsky <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to