Martin Peřina has uploaded a new change for review. Change subject: tools: Fixes adding superuser permissions ......................................................................
tools: Fixes adding superuser permissions Fixes adding superuser permissions when adding or editing a domain. Change-Id: Ib96e77abf446e93a1bce85eecbcbff9591a6a64f Bug-Url: https://bugzilla.redhat.com/1020172 Signed-off-by: Martin Perina <[email protected]> --- M backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java 1 file changed, 16 insertions(+), 30 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/01/20801/1 diff --git a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java index 5263723..7019b4f 100644 --- a/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java +++ b/backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java @@ -491,6 +491,7 @@ new DomainsConfigurationEntry(currentDomains, DOMAIN_SEPERATOR, null); String domainName = parser.getArg(Arguments.domain.toString()).toLowerCase(); + String userName = parser.getArg(Arguments.user.toString()); if (domainNameEntry.doesDomainExist(domainName)) { throw new ManageDomainsResult(ManageDomainsResultEnum.DOMAIN_ALREADY_EXISTS_IN_CONFIGURATION, domainName); } @@ -520,7 +521,7 @@ new DomainsConfigurationEntry(currentLDAPProviderTypes, DOMAIN_SEPERATOR, VALUE_SEPERATOR); LdapProviderType ldapProviderType = getLdapProviderType(parser); - adUserNameEntry.setValueForDomain(domainName, parser.getArg(Arguments.user.toString())); + adUserNameEntry.setValueForDomain(domainName, userName); adUserPasswordEntry.setValueForDomain(domainName, getPasswordInput(parser)); authModeEntry.setValueForDomain(domainName, authMode); ldapProviderTypesEntry.setValueForDomain(domainName, ldapProviderType.name()); @@ -547,7 +548,7 @@ false, ldapServers); - handleAddPermissions(domainName, adUserNameEntry, adUserIdEntry); + handleAddPermissions(domainName, userName, adUserIdEntry.getValueForDomain(domainName)); // Update the configuration setConfigurationEntries(domainNameEntry, @@ -567,27 +568,19 @@ System.out.println(SERVICE_RESTART_MESSAGE); } - private void handleAddPermissions(String domainName, DomainsConfigurationEntry adUserNameEntry, DomainsConfigurationEntry adUserIdEntry) { + private void handleAddPermissions(String domainName, String userName, String userId) { if (addPermissions) { - updatePermissionsTable(adUserNameEntry, adUserIdEntry); + updatePermissionsTable(userName, domainName, userId); } else - if (!userHasPermissions(adUserNameEntry, adUserIdEntry)) { + if (!userHasPermissions(userName, domainName)) { System.out.println(String.format(INFO_ABOUT_NOT_ADDING_PERMISSIONS, domainName)); } } - private ManageDomainsResult updatePermissionsTable(DomainsConfigurationEntry adUserNameEntry, - DomainsConfigurationEntry adUseridEntry) { + private ManageDomainsResult updatePermissionsTable(String userName, String domainName, + String adUserId) { try { - Set<Entry<String, String>> userNameValues = adUserNameEntry.getValues(); - - for (Entry<String, String> currUserEntry : userNameValues) { - String currDomain = currUserEntry.getKey(); - String currUser = currUserEntry.getValue(); - String guid = adUseridEntry.getValueForDomain(currDomain); - - daoImpl.updatePermissionsTable(guid, currUser, currDomain); - } + daoImpl.updatePermissionsTable(adUserId, userName, domainName); return OK_RESULT; } catch (SQLException e) { return new ManageDomainsResult(ManageDomainsResultEnum.FAILURE_WHILE_APPLYING_CHANGES_IN_DATABASE, @@ -595,21 +588,14 @@ } } - private boolean userHasPermissions(DomainsConfigurationEntry adUserNameEntry, - DomainsConfigurationEntry adUseridEntry) { + private boolean userHasPermissions(String userName, String domainName) { + boolean result = false; try { - Set<Entry<String, String>> userNameValues = adUserNameEntry.getValues(); - for (Entry<String, String> currUserEntry : userNameValues) { - String currDomain = currUserEntry.getKey(); - String currUser = currUserEntry.getValue(); - if (daoImpl.getUserHasPermissions(currUser, currDomain)) { - return true; - } - } - } catch (SQLException e) { - log.error(e); + result = daoImpl.getUserHasPermissions(userName, domainName); + } catch (SQLException ex) { + log.error("Error testing user permissions", ex); } - return false; + return result; } public void editDomain(CLIParser parser) throws ManageDomainsResult { @@ -681,7 +667,7 @@ false, ldapServers); - handleAddPermissions(domainName, adUserNameEntry, adUserIdEntry); + handleAddPermissions(domainName, userName, adUserIdEntry.getValueForDomain(domainName)); setConfigurationEntries(domainNameEntry, adUserNameEntry, -- To view, visit http://gerrit.ovirt.org/20801 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib96e77abf446e93a1bce85eecbcbff9591a6a64f Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Peřina <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
