1.1 restoration
[mir.git] / source / mircoders / localizer / basic / MirBasicAntiAbuseFilterTypes.java
index 2ab4d57..3fae846 100755 (executable)
 package mircoders.localizer.basic;
 
 import gnu.regexp.RE;
-
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
 import mir.entity.Entity;
+import mir.log.LoggerWrapper;
 import mir.session.Request;
 import mir.util.InternetFunctions;
 import mircoders.localizer.MirAntiAbuseFilterType;
 
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
 
 /**
- * <p>Title: </p>
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) 2003</p>
- * <p>Company: </p>
- * @author not attributable
- * @version 1.0
+ * Wrapper around a collection of common filter classes for Mir's
+ * anti-abuse filtering system.
  */
-
 public class MirBasicAntiAbuseFilterTypes {
+  protected static final LoggerWrapper logger = new LoggerWrapper("Localizer.ProducerAssistant");
+
   private MirBasicAntiAbuseFilterTypes() {
   }
 
@@ -69,20 +66,18 @@ public class MirBasicAntiAbuseFilterTypes {
 
   /**
    * A basic ip filter. Supports x.x.x.x, x.x.x.x/x and x.x.x.x/x.x.x.x expressions.
-   *
-   * <p>Title: </p>
-   * <p>Description: </p>
-   * <p>Copyright: Copyright (c) 2003</p>
-   * <p>Company: </p>
-   * @author not attributable
-   * @version 1.0
    */
-
   public static class IPFilter extends BasicFilterType {
+    /**
+     *
+     */
     public IPFilter(String aName) {
       super(aName);
     }
 
+    /**
+     *
+     */
     public boolean validate(String anExpression) {
       try {
         InternetFunctions.isIpAddressInNetwork("1.1.1.1", anExpression);
@@ -93,6 +88,9 @@ public class MirBasicAntiAbuseFilterTypes {
       }
     };
 
+    /**
+     *
+     */
     public boolean test(String anExpression, Entity anEntity, Request aRequest) {
       try {
         return InternetFunctions.isIpAddressInNetwork(aRequest.getHeader("ip"), anExpression);
@@ -105,15 +103,7 @@ public class MirBasicAntiAbuseFilterTypes {
 
   /**
    * A regular expression filter.
-   *
-   * <p>Title: </p>
-   * <p>Description: </p>
-   * <p>Copyright: Copyright (c) 2003</p>
-   * <p>Company: </p>
-   * @author not attributable
-   * @version 1.0
    */
-
   public static class RegularExpressionFilter extends BasicFilterType {
     private boolean exactMatch;
     private boolean caseSensitive;
@@ -159,11 +149,11 @@ public class MirBasicAntiAbuseFilterTypes {
         Iterator j;
         int flags = 0;
 
-        if (caseSensitive)
-          // TODO jlint says this operator is useless
+        if (!caseSensitive) {
           flags |= RE.REG_ICASE;
+        }
 
-        RE regularExpression = new RE(anExpression, RE.REG_ICASE);
+        RE regularExpression = new RE(anExpression, flags);
 
         switch (fieldKind) {
           case REQUEST_HEADERS:
@@ -171,7 +161,8 @@ public class MirBasicAntiAbuseFilterTypes {
               j = selectedFields.iterator();
 
               while (j.hasNext()) {
-                String field = aRequest.getHeader( (String) j.next());
+                String fieldName = (String) j.next();
+                String field = aRequest.getHeader(fieldName);
 
                 if (exactMatch) {
                   if (field != null && regularExpression.isMatch(field)) {