Author: eric
Date: Tue Feb 7 13:07:54 2012
New Revision: 1241455
URL: http://svn.apache.org/viewvc?rev=1241455&view=rev
Log:
Lower cases and check if existing before HBase user creation (JAMES-1369)
Modified:
james/server/trunk/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
Modified:
james/server/trunk/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java?rev=1241455&r1=1241454&r2=1241455&view=diff
==============================================================================
---
james/server/trunk/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
(original)
+++
james/server/trunk/data-hbase/src/main/java/org/apache/james/user/hbase/HBaseUsersRepository.java
Tue Feb 7 13:07:54 2012
@@ -94,7 +94,7 @@ public class HBaseUsersRepository extend
if (existingUser == null) {
throw new UsersRepositoryException("Please provide an existing
user to update");
}
- putUser((DefaultUser) user);
+ putUser((DefaultUser) user, false);
}
/**
@@ -224,7 +224,7 @@ public class HBaseUsersRepository extend
protected void doAddUser(String username, String password) throws
UsersRepositoryException {
DefaultUser user = new DefaultUser(username, algo);
user.setPassword(password);
- putUser(user);
+ putUser(user, true);
}
/**
@@ -257,16 +257,23 @@ public class HBaseUsersRepository extend
}
/**
- * Utility mehtod to put a User in HBase.
+ * Utility method to put a User in HBase.
*
* @param user
* @throws UsersRepositoryException
*/
- private void putUser(DefaultUser user) throws UsersRepositoryException {
+ private void putUser(DefaultUser user, boolean isAdd) throws
UsersRepositoryException {
+ String username = user.getUserName();
+ if (isAdd) {
+ username = user.getUserName().toLowerCase();
+ if (contains(username)) {
+ throw new UsersRepositoryException(username + " already
exists.");
+ }
+ }
HTable table = null;
try {
table = TablePool.getInstance().getUsersRepositoryTable();
- Put put = new Put(Bytes.toBytes(user.getUserName()));
+ Put put = new Put(Bytes.toBytes(username));
put.add(HUsersRepository.COLUMN_FAMILY_NAME,
HUsersRepository.COLUMN.PWD, Bytes.toBytes(user.getHashedPassword()));
table.put(put);
table.flushCommits();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]