Skip to content

Commit

Permalink
fix typo, move strings to bundle (use new helper) #2115 #2922
Browse files Browse the repository at this point in the history
- fix typo in KEY_USERNAME_OR_PASSWORD (change to EMAIL)
- make related strings localizable (move to bundle)
- stop using deprecated JH.localize
- unable to exercise login.error
  • Loading branch information
pdurbin committed Feb 24, 2016
1 parent 3f06d3a commit 7915bf5
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 8 deletions.
7 changes: 5 additions & 2 deletions src/main/java/Bundle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,11 @@ authenticationProvidersAvailable.tip={0}There are no active authentication provi
login.System=Login System
login.forgot.text=Forgot your password?
login.institution=Institution Log In
login.invaliduserpassword=The username, email address, or password you entered is invalid. Need assistance accessing your account?
login.error=Error validating the username and/or password. Please try again. If the problem persists, contact an administrator.
login.builtin.credential.usernameOrEmail=Username/Email
login.builtin.credential.password=Password
login.builtin.invalidUsernameEmailOrPassword=The username, email address, or password you entered is invalid. Need assistance accessing your account?
# how do we exercise login.error? Via a password upgrade failure? See https://github.com/IQSS/dataverse/pull/2922
login.error=Error validating the username, email address, or password. Please try again. If the problem persists, contact an administrator.

#shib.xhtml
shib.btn.acceptAndConvert=Accept Terms and Convert Account
Expand Down
10 changes: 8 additions & 2 deletions src/main/java/edu/harvard/iq/dataverse/LoginPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import edu.harvard.iq.dataverse.authorization.providers.builtin.BuiltinUserServiceBean;
import edu.harvard.iq.dataverse.authorization.users.AuthenticatedUser;
import edu.harvard.iq.dataverse.settings.SettingsServiceBean;
import edu.harvard.iq.dataverse.util.BundleUtil;
import edu.harvard.iq.dataverse.util.JsfHelper;
import static edu.harvard.iq.dataverse.util.JsfHelper.JH;
import java.io.UnsupportedEncodingException;
Expand Down Expand Up @@ -171,10 +172,15 @@ public String login() {
AuthenticationResponse response = ex.getResponse();
switch ( response.getStatus() ) {
case FAIL:
JsfHelper.addErrorMessage(JH.localize("login.invaliduserpassword"));
JsfHelper.addErrorMessage(BundleUtil.getStringFromBundle("login.builtin.invalidUsernameEmailOrPassword"));
return null;
case ERROR:
JsfHelper.addErrorMessage(JH.localize("login.error"));
/**
* @todo How do we exercise this part of the code? Something
* with password upgrade? See
* https://github.com/IQSS/dataverse/pull/2922
*/
JsfHelper.addErrorMessage(BundleUtil.getStringFromBundle("login.error"));
logger.log( Level.WARNING, "Error logging in: " + response.getMessage(), response.getError() );
return null;
case BREAKOUT:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import edu.harvard.iq.dataverse.authorization.groups.Group;
import edu.harvard.iq.dataverse.engine.command.DataverseRequest;
import edu.harvard.iq.dataverse.passwordreset.PasswordResetException;
import edu.harvard.iq.dataverse.util.BundleUtil;
import java.util.Set;

/**
Expand All @@ -26,14 +27,17 @@
public class BuiltinAuthenticationProvider implements CredentialsAuthenticationProvider, UserLister, GroupProvider {

public static final String PROVIDER_ID = "builtin";
private static final String KEY_USERNAME_OR_PASSWORD = "Username/Email";
private static final String KEY_PASSWORD = "Password";
private static final List<Credential> CREDENTIALS_LIST = Arrays.asList( new Credential(KEY_USERNAME_OR_PASSWORD), new Credential(KEY_PASSWORD, true) );
private static String KEY_USERNAME_OR_EMAIL;
private static String KEY_PASSWORD;
private static List<Credential> CREDENTIALS_LIST;

final BuiltinUserServiceBean bean;

public BuiltinAuthenticationProvider( BuiltinUserServiceBean aBean ) {
bean = aBean;
KEY_USERNAME_OR_EMAIL = BundleUtil.getStringFromBundle("login.builtin.credential.usernameOrEmail");
KEY_PASSWORD = BundleUtil.getStringFromBundle("login.builtin.credential.password");
CREDENTIALS_LIST = Arrays.asList(new Credential(KEY_USERNAME_OR_EMAIL), new Credential(KEY_PASSWORD, true));
}

@Override
Expand All @@ -53,7 +57,7 @@ public AuthenticationProviderDisplayInfo getInfo() {

@Override
public AuthenticationResponse authenticate( AuthenticationRequest authReq ) {
BuiltinUser u = bean.findByUsernameOrEmail(authReq.getCredential(KEY_USERNAME_OR_PASSWORD) );
BuiltinUser u = bean.findByUsernameOrEmail(authReq.getCredential(KEY_USERNAME_OR_EMAIL) );
if ( u == null ) return AuthenticationResponse.makeFail("Bad username, email address, or password");

boolean userAuthenticated = PasswordEncryption.getVersion(u.getPasswordEncryptionVersion())
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public void testGetStringFromBundle() {
assertEquals(null, BundleUtil.getStringFromBundle(""));
assertEquals(null, BundleUtil.getStringFromBundle("junkKeyWeDoNotExpectToFind"));
assertEquals("Search", BundleUtil.getStringFromBundle("search"));
assertEquals("Error validating the username, email address, or password. Please try again. If the problem persists, contact an administrator.", BundleUtil.getStringFromBundle("login.error"));
}

@Test
Expand Down

0 comments on commit 7915bf5

Please sign in to comment.