HashLoginService code format

This commit is contained in:
Thomas Becker 2011-08-26 19:34:37 +02:00 committed by Jesse McConnell
parent 26c8cc8514
commit 1e30a58419
1 changed files with 30 additions and 32 deletions

View File

@ -36,22 +36,18 @@ import org.eclipse.jetty.util.resource.Resource;
/**
* Properties User Realm.
*
* An implementation of UserRealm that stores users and roles in-memory in
* HashMaps.
* An implementation of UserRealm that stores users and roles in-memory in HashMaps.
* <P>
* Typically these maps are populated by calling the load() method or passing a
* properties resource to the constructor. The format of the properties file is:
* Typically these maps are populated by calling the load() method or passing a properties resource to the constructor. The format of the properties file is:
*
* <PRE>
* username: password [,rolename ...]
* </PRE>
*
* Passwords may be clear text, obfuscated or checksummed. The class
* com.eclipse.Util.Password should be used to generate obfuscated passwords or
* password checksums.
* Passwords may be clear text, obfuscated or checksummed. The class com.eclipse.Util.Password should be used to generate obfuscated passwords or password
* checksums.
*
* If DIGEST Authentication is used, the password must be in a recoverable
* format, either plain text or OBF:.
* If DIGEST Authentication is used, the password must be in a recoverable format, either plain text or OBF:.
*/
public class HashLoginService extends MappedLoginService
{
@ -72,14 +68,14 @@ public class HashLoginService extends MappedLoginService
{
setName(name);
}
/* ------------------------------------------------------------ */
public HashLoginService(String name, String config)
{
setName(name);
setConfig(config);
}
/* ------------------------------------------------------------ */
public String getConfig()
{
@ -89,7 +85,7 @@ public class HashLoginService extends MappedLoginService
/* ------------------------------------------------------------ */
public void getConfig(String config)
{
_config=config;
_config = config;
}
/* ------------------------------------------------------------ */
@ -100,11 +96,10 @@ public class HashLoginService extends MappedLoginService
/* ------------------------------------------------------------ */
/**
* Load realm users from properties file. The property file maps usernames
* to password specs followed by an optional comma separated list of role
* names.
* Load realm users from properties file. The property file maps usernames to password specs followed by an optional comma separated list of role names.
*
* @param config Filename or url of user properties file.
* @param config
* Filename or url of user properties file.
*/
public void setConfig(String config)
{
@ -129,30 +124,31 @@ public class HashLoginService extends MappedLoginService
{
return null;
}
/* ------------------------------------------------------------ */
@Override
public void loadUsers() throws IOException
{
if (_config==null)
if (_config == null)
return;
_configResource = Resource.newResource(_config);
if (LOG.isDebugEnabled()) LOG.debug("Load " + this + " from " + _config);
Properties properties = new Properties();
properties.load(_configResource.getInputStream());
Set<String> known = new HashSet<String>();
for (Map.Entry<Object, Object> entry : properties.entrySet())
{
String username = ((String) entry.getKey()).trim();
String credentials = ((String) entry.getValue()).trim();
String username = ((String)entry.getKey()).trim();
String credentials = ((String)entry.getValue()).trim();
String roles = null;
int c = credentials.indexOf(',');
if (c > 0)
{
roles = credentials.substring(c + 1).trim();
credentials = credentials.substring(0, c).trim();
credentials = credentials.substring(0,c).trim();
}
if (username != null && username.length() > 0 && credentials != null && credentials.length() > 0)
@ -164,17 +160,16 @@ public class HashLoginService extends MappedLoginService
putUser(username,Credential.getCredential(credentials),roleArray);
}
}
Iterator<String> users = _users.keySet().iterator();
while(users.hasNext())
while (users.hasNext())
{
String user=users.next();
String user = users.next();
if (!known.contains(user))
users.remove();
}
}
/* ------------------------------------------------------------ */
/**
* @see org.eclipse.jetty.util.component.AbstractLifeCycle#doStart()
@ -182,7 +177,7 @@ public class HashLoginService extends MappedLoginService
protected void doStart() throws Exception
{
super.doStart();
if (getRefreshInterval() > 0)
{
_scanner = new Scanner();
@ -194,10 +189,11 @@ public class HashLoginService extends MappedLoginService
{
public boolean accept(File dir, String name)
{
File f = new File(dir, name);
File f = new File(dir,name);
try
{
if (f.compareTo(_configResource.getFile()) == 0) return true;
if (f.compareTo(_configResource.getFile()) == 0)
return true;
}
catch (IOException e)
{
@ -212,8 +208,10 @@ public class HashLoginService extends MappedLoginService
{
public void filesChanged(List<String> filenames) throws Exception
{
if (filenames == null) return;
if (filenames.isEmpty()) return;
if (filenames == null)
return;
if (filenames.isEmpty())
return;
if (filenames.size() == 1)
{
Resource r = Resource.newResource(filenames.get(0));
@ -241,9 +239,9 @@ public class HashLoginService extends MappedLoginService
protected void doStop() throws Exception
{
super.doStop();
if (_scanner != null) _scanner.stop();
if (_scanner != null)
_scanner.stop();
_scanner = null;
}
}