@@ -0,0 +1,2197 @@
+/**%0A * Copyright (c) 2004 The JA-SIG Collaborative.  All rights reserved.%0A *%0A * Redistribution and use in source and binary forms, with or without%0A * modification, are permitted provided that the following conditions%0A * are met:%0A *%0A * 1. Redistributions of source code must retain the above copyright%0A *    notice, this list of conditions and the following disclaimer.%0A *%0A * 2. Redistributions in binary form must reproduce the above copyright%0A *    notice, this list of conditions and the following disclaimer in%0A *    the documentation and/or other materials provided with the%0A *    distribution.%0A *%0A * 3. Redistributions of any form whatsoever must retain the following%0A *    acknowledgment:%0A *    %22This product includes software developed by the JA-SIG Collaborative%0A *    (http://www.jasig.org/).%22%0A *%0A * THIS SOFTWARE IS PROVIDED BY THE JA-SIG COLLABORATIVE %22AS IS%22 AND ANY%0A * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE%0A * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR%0A * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE JA-SIG COLLABORATIVE OR%0A * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,%0A * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT%0A * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;%0A * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)%0A * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,%0A * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)%0A * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED%0A * OF THE POSSIBILITY OF SUCH DAMAGE.%0A *%0A */%0A%0Apackage org.jasig.portal.groups.pags.testers;%0A%0A/**%0A * Tests an %3Ccode%3EIPerson%3C/code%3E attribute for String equality %0A * regardless of case and answers true if any of the possibly %0A * multiple values of the attribute equals the test value. %0A * Question: how to handle non-default locales?%0A * %3Cp%3E%0A * @author Dan Ellentuck%0A * @version $Revision$%0A */%0A%0Apublic class StringEqualsIgnoreCaseTester extends StringTester %7B%0A%0Apublic StringEqualsIgnoreCaseTester(String attribute, String test) %7B%0A    super(attribute, test);%0A%7D%0Apublic boolean test(String att) %7B%0A    return att.equalsIgnoreCase(testValue);%0A%7D%0A%0A%7D%0A

Add Person Attributes Group Store tester class.