static class AdvisorFinder
{
public static ClassAdvisor getAdvisor(String classname)
{
String[] name = classname.split("\\.");
Package root = Package.aopClassMap();
if (!root.name.equals("classes"))throw new RuntimeException("Did not get expected root 'classes'");
for (Iterator it = root.packages.entrySet().iterator() ; it.hasNext() ; )
{
Map.Entry entry = (Map.Entry) it.next();
Package pkg = (Package) entry.getValue();
ClassAdvisor advisor = findAdvisor(pkg, classname, name, 0);
if (advisor != null)
{
return advisor;
}