Yair Zaslavsky has uploaded a new change for review. Change subject: tools: Providing a way to reset change password msg ......................................................................
tools: Providing a way to reset change password msg By not providing any entry when prompted, and just press enter a user can reset an already set "change password msg" Change-Id: Ic9a93b78af23cd9d44ddcd4a32cd23db80be969a Signed-off-by: Yair Zaslavsky <yzasl...@redhat.com> --- M backend/manager/tools/src/main/java/org/ovirt/engine/core/domains/ManageDomains.java 1 file changed, 28 insertions(+), 25 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/51/24351/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 aa8e327..1cb56d2 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 @@ -305,15 +305,15 @@ } } - protected String getChangePasswordMsg() throws ManageDomainsResult, UnsupportedEncodingException { + protected String getChangePasswordMsg(boolean edit) throws ManageDomainsResult, UnsupportedEncodingException { if (!args.contains(ARG_CHANGE_PASSWORD_MSG)) { return null; } - + String emptyValueDescription = edit ? " (Not providing a value will cause the existing value to be reset)" : ""; String changePasswordMsgStr = - readInteractively("Please enter message or URL to appear when user tries to login with an expired password: ", - false); - + System.console() + .readLine("Please enter message or URL to appear when user tries to login with an expired password" + + emptyValueDescription + ":"); if (changePasswordMsgStr.indexOf("http") == 0 || changePasswordMsgStr.indexOf("https") == 0) { try { URL url = new URL(changePasswordMsgStr); @@ -324,7 +324,7 @@ } } // As the message may contain characters like space, "," and ":" - it should be encoded - return URLEncoder.encode(changePasswordMsgStr, "UTF-8"); + return StringUtils.isNotEmpty(changePasswordMsgStr) ? URLEncoder.encode(changePasswordMsgStr, "UTF-8") : ""; } private String getPasswordInput() throws ManageDomainsResult { @@ -492,12 +492,6 @@ List<String> ldapServers = getLdapServers(domainName); validateKdcServers(authMode, domainName); domainNameEntry.setValueForDomain(domainName, null); - String changePasswordUrlStr = null; - try { - changePasswordUrlStr = getChangePasswordMsg(); - } catch (UnsupportedEncodingException e) { - log.error("Error in encoding the change password message. ", e); - } String currentAdUserNameEntry = configurationProvider.getConfigValue(ConfigValues.AdUserName); String currentAdUserPasswordEntry = configurationProvider.getConfigValue(ConfigValues.AdUserPassword); @@ -530,12 +524,7 @@ authModeEntry.setValueForDomain(domainName, authMode); ldapProviderTypesEntry.setValueForDomain(domainName, ldapProviderType.name()); setLdapServersPerDomain(domainName, ldapServersEntry, StringUtils.join(ldapServers, ",")); - if (args.contains(ARG_CHANGE_PASSWORD_MSG)) { - changePasswordUrlEntry.setValueForDomain(domainName, changePasswordUrlStr); - } - - - + handleChangePasswordMsg(domainName, changePasswordUrlEntry, false); testConfiguration(domainName, domainNameEntry, adUserNameEntry, @@ -678,13 +667,8 @@ if (ldapProviderType != null) { ldapProviderTypeEntry.setValueForDomain(domainName, ldapProviderType.name()); } - if (args.contains(ARG_CHANGE_PASSWORD_MSG)) { - try { - changePaswordUrlEntry.setValueForDomain(domainName, getChangePasswordMsg()); - } catch (UnsupportedEncodingException e) { - log.error("Error in encoding the change password message. ", e); - } - } + + handleChangePasswordMsg(domainName, changePaswordUrlEntry, true); testConfiguration(domainName, domainNameEntry, @@ -713,6 +697,25 @@ printSuccessMessage(domainName, "edited"); } + private void handleChangePasswordMsg(String domainName, + DomainsConfigurationEntry changePaswordUrlEntry, + boolean edit) + throws ManageDomainsResult { + if (args.contains(ARG_CHANGE_PASSWORD_MSG)) { + try { + String changePasswordMsgStr = getChangePasswordMsg(edit); + if (StringUtils.isNotBlank(changePasswordMsgStr)) { + changePaswordUrlEntry.setValueForDomain(domainName, changePasswordMsgStr); + } else { + changePaswordUrlEntry.removeValueForDomain(domainName); + } + + } catch (UnsupportedEncodingException e) { + log.error("Error in encoding the change password message. ", e); + } + } + } + private void createKerberosConfiguration(DomainsConfigurationEntry gssapiDomains, Map<String, List<String>> ldapServersPerGSSAPIDomains) throws ManageDomainsResult { if (!gssapiDomains.isEntryEmpty()) { String gssapiDomainsString = gssapiDomains.getDomainsConfigurationEntry(); -- To view, visit http://gerrit.ovirt.org/24351 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic9a93b78af23cd9d44ddcd4a32cd23db80be969a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Yair Zaslavsky <yzasl...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches