* @see org.apache.jetspeed.capabilities.CapabilityService#findClient(java.lang.String)
*/
public Client findClient(String userAgent)
{
Client clientEntry = null;
Iterator clients = getClients();
if (log.isDebugEnabled())
{
log.debug(
"ClientRegistry: Looking for client with useragent :"
+ userAgent);
}
while (clients.hasNext())
{
Client client = (Client) clients.next();
if (client.getUserAgentPattern() != null)
{
try
{
// Java 1.4 has regular expressions build in
String exp = client.getUserAgentPattern();
//RE r = new RE(client.getUserAgentPattern());
//r.setMatchFlags(RE.MATCH_CASEINDEPENDENT);
//if (r.match(userAgent))
if (userAgent.matches(exp))
{
if (log.isDebugEnabled())
{
log.debug(
"Client: "
+ userAgent
+ " matches "
+ client.getUserAgentPattern());
}
return client;
} else
{
if (log.isDebugEnabled())
{
log.debug(
"Client: "
+ userAgent
+ " does not match "
+ client.getUserAgentPattern());
}
}
} catch (java.util.regex.PatternSyntaxException e)
{
String message =
"CapabilityServiceImpl: UserAgentPattern not valid : "
+ client.getUserAgentPattern()
+ " : "
+ e.getMessage();
log.error(message, e);
}
}