22,24c22 < import java.util.ArrayList; < import java.util.Iterator; < import java.util.List; --- > import java.util.*; 252,268c250 < roleClasses.clear(); < String temp = this.roleClassNames; < if (temp == null) { < return; < } < while (true) { < int comma = temp.indexOf(','); < if (comma < 0) { < break; < } < roleClasses.add(temp.substring(0, comma).trim()); < temp = temp.substring(comma + 1); < } < temp = temp.trim(); < if (temp.length() > 0) { < roleClasses.add(temp); < } --- > parseClassNames(roleClassNames, roleClasses); 271c253,281 < --- > /** > * Parses a comma-delimited list of class names, and store the class names > * in the provided List. Each class must implement java.security.Principal. > * > * @param classNamesString a comma-delimited list of fully qualified class names. > * @param classNamesList the list in which the class names will be stored. > * The list is cleared before being populated. > */ > protected void parseClassNames(String classNamesString, List classNamesList) { > classNamesList.clear(); > if (classNamesString == null) return; > > String[] classNames = classNamesString.split("[ ]*,[ ]*"); > for (int i=0; i if (classNames[i].length()==0) continue; > try { > Class principalClass = Class.forName(classNames[i]); > if (Principal.class.isAssignableFrom(principalClass)) { > classNamesList.add(classNames[i]); > } else { > log.error("Class "+classNames[i]+" is not implementing "+ > "java.security.Principal! Class not added."); > } > } catch (ClassNotFoundException e) { > log.error("Class "+classNames[i]+" not found! Class not added."); > } > } > } > 292,308c302 < userClasses.clear(); < String temp = this.userClassNames; < if (temp == null) { < return; < } < while (true) { < int comma = temp.indexOf(','); < if (comma < 0) { < break; < } < userClasses.add(temp.substring(0, comma).trim()); < temp = temp.substring(comma + 1); < } < temp = temp.trim(); < if (temp.length() > 0) { < userClasses.add(temp); < } --- > parseClassNames(userClassNames, userClasses);