Author: tv
Date: Tue Apr 14 15:47:06 2015
New Revision: 1673447

URL: http://svn.apache.org/r1673447
Log:
- Fix parsing of numbers, improve test
- Move to Avalon logging all over the place, remove commons-logging dependency

Modified:
    turbine/fulcrum/trunk/intake/pom.xml
    turbine/fulcrum/trunk/intake/src/changes/changes.xml
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/BooleanField.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Field.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Group.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/XmlField.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BigDecimalValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BooleanValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateRangeValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateStringValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DefaultValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DoubleValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FieldReference.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FileValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FloatValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerRangeValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/LongValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/NumberValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/ShortValidator.java
    
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/StringValidator.java
    
turbine/fulcrum/trunk/intake/src/test/org/apache/fulcrum/intake/IntakeTest.java

Modified: turbine/fulcrum/trunk/intake/pom.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/pom.xml?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- turbine/fulcrum/trunk/intake/pom.xml (original)
+++ turbine/fulcrum/trunk/intake/pom.xml Tue Apr 14 15:47:06 2015
@@ -103,14 +103,9 @@
       <version>2.6</version>
     </dependency>
     <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-      <version>1.1.3</version>
-    </dependency>
-    <dependency>
       <groupId>org.apache.commons</groupId>
       <artifactId>commons-pool2</artifactId>
-      <version>2.0</version>
+      <version>2.3</version>
     </dependency>
     
     <!-- testing dependencies -->

Modified: turbine/fulcrum/trunk/intake/src/changes/changes.xml
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/changes/changes.xml?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- turbine/fulcrum/trunk/intake/src/changes/changes.xml (original)
+++ turbine/fulcrum/trunk/intake/src/changes/changes.xml Tue Apr 14 15:47:06 
2015
@@ -26,6 +26,12 @@
 
   <body>
      <release version="1.2.0" date="in Subversion">
+      <action dev="tv" type="fix">
+        Fix parsing of numbers, improve test
+      </action>
+      <action dev="tv" type="update">
+        Move to Avalon logging all over the place
+      </action>
       <action dev="tv" type="update">
         Move to JAXB for parsing and object mapping.
       </action>

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/IntakeServiceImpl.java
 Tue Apr 14 15:47:06 2015
@@ -25,10 +25,8 @@ import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
-import java.io.InputStream;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
-import java.io.OutputStream;
 import java.lang.reflect.Method;
 import java.net.URL;
 import java.util.ArrayList;
@@ -41,6 +39,7 @@ import java.util.Set;
 import javax.xml.XMLConstants;
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Unmarshaller;
+import javax.xml.bind.Unmarshaller.Listener;
 import javax.xml.bind.helpers.DefaultValidationEventHandler;
 import javax.xml.validation.SchemaFactory;
 
@@ -52,6 +51,7 @@ import org.apache.avalon.framework.conte
 import org.apache.avalon.framework.context.ContextException;
 import org.apache.avalon.framework.context.Contextualizable;
 import org.apache.avalon.framework.logger.AbstractLogEnabled;
+import org.apache.avalon.framework.logger.LogEnabled;
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
@@ -107,6 +107,28 @@ public class IntakeServiceImpl extends A
     private String serialDataPath = null;
 
     /**
+     * Local Class to enable Avalon logging on the model classes
+     *
+     */
+    private class AvalonLogEnabledListener extends Listener
+    {
+               /**
+                * @see 
javax.xml.bind.Unmarshaller.Listener#beforeUnmarshal(java.lang.Object, 
java.lang.Object)
+                */
+               @Override
+               public void beforeUnmarshal(Object target, Object parent)
+               {
+                       super.beforeUnmarshal(target, parent);
+
+                       if (target instanceof LogEnabled)
+                       {
+                               ((LogEnabled)target).enableLogging(getLogger());
+                       }
+               }
+
+    }
+
+    /**
      * Registers a given group name in the system
      *
      * @param groupName
@@ -175,6 +197,8 @@ public class IntakeServiceImpl extends A
                 "Entered loadSerialized(" + serialDataPath + ", " + timeStamp
                         + ")");
 
+        long timer = System.currentTimeMillis();
+
         if (serialDataPath == null)
         {
             return null;
@@ -194,18 +218,20 @@ public class IntakeServiceImpl extends A
             return null;
         }
 
-        InputStream in = null;
+        ObjectInputStream in = null;
         Map<AppData, File> serialData = null;
 
         try
         {
-            in = new FileInputStream(serialDataFile);
-            ObjectInputStream p = new ObjectInputStream(in);
-            Object o = p.readObject();
+               FileInputStream fin = new FileInputStream(serialDataFile);
+            in = new ObjectInputStream(fin);
+            Object o = in.readObject();
 
             if (o instanceof Map)
             {
-                serialData = (Map<AppData, File>) o;
+                @SuppressWarnings("unchecked") // checked with instanceof
+                               Map<AppData, File> map = (Map<AppData, File>) o;
+                               serialData = map;
             }
             else
             {
@@ -251,7 +277,35 @@ public class IntakeServiceImpl extends A
             }
         }
 
+        // Recreate transient loggers
+        if (serialData != null)
+        {
+               for (AppData appData : serialData.keySet())
+               {
+                       for (Group group : appData.getGroups())
+                       {
+                               if (group instanceof LogEnabled)
+                               {
+                                       
((LogEnabled)group).enableLogging(getLogger());
+                               }
+
+                               for (Field<?> field : group.getFields())
+                               {
+                               if (field instanceof LogEnabled)
+                               {
+                                       
((LogEnabled)field).enableLogging(getLogger());
+
+                                       if (field.getValidator() != null && 
field.getValidator() instanceof LogEnabled)
+                                       {
+                                               
((LogEnabled)field.getValidator()).enableLogging(getLogger());
+                                       }
+                               }
+                               }
+                       }
+               }
+        }
         getLogger().info("Loaded serialized map object, ignoring XML");
+        getLogger().debug("Loading took " + (System.currentTimeMillis() - 
timer));
         return serialData;
     }
 
@@ -272,6 +326,8 @@ public class IntakeServiceImpl extends A
                 "Entered saveSerialized(" + serialDataPath
                         + ", appDataElements)");
 
+        long timer = System.currentTimeMillis();
+
         if (serialDataPath == null)
         {
             return;
@@ -288,26 +344,26 @@ public class IntakeServiceImpl extends A
         {
             getLogger().info(
                     "Could not create serialized file " + serialDataPath
-                            + ", not serializing the XML data");
+                            + ", not serializing the XML data", e);
             return;
         }
 
-        OutputStream out = null;
-        InputStream in = null;
+        ObjectOutputStream out = null;
+        ObjectInputStream in = null;
 
         try
         {
             // write the appData file out
-            out = new FileOutputStream(serialDataPath);
-            ObjectOutputStream pout = new ObjectOutputStream(out);
-            pout.writeObject(appDataElements);
-            pout.flush();
+               FileOutputStream fout = new FileOutputStream(serialDataPath);
+            out = new ObjectOutputStream(fout);
+            out.writeObject(appDataElements);
+            out.flush();
 
             // read the file back in. for some reason on OSX 10.1
             // this is necessary.
-            in = new FileInputStream(serialDataPath);
-            ObjectInputStream pin = new ObjectInputStream(in);
-            /* Map dummy = (Map) */ pin.readObject();
+            FileInputStream fin = new FileInputStream(serialDataPath);
+            in = new ObjectInputStream(fin);
+            /* Map dummy = (Map) */ in.readObject();
 
             getLogger().debug("Serializing successful");
         }
@@ -315,12 +371,12 @@ public class IntakeServiceImpl extends A
         {
             getLogger().info(
                     "Could not write serialized file to " + serialDataPath
-                            + ", not serializing the XML data");
+                            + ", not serializing the XML data", e);
         }
         catch (ClassNotFoundException e)
         {
             getLogger().info(
-                    "Could not re-read serialized file from " + 
serialDataPath);
+                    "Could not re-read serialized file from " + 
serialDataPath, e);
         }
         finally
         {
@@ -347,6 +403,8 @@ public class IntakeServiceImpl extends A
                 getLogger().error("Exception while closing file", e);
             }
         }
+
+        getLogger().debug("Saving took " + (System.currentTimeMillis() - 
timer));
     }
 
     /**
@@ -704,6 +762,8 @@ public class IntakeServiceImpl extends A
         }
         else
         {
+               long timer = System.currentTimeMillis();
+
             // Parse all the given XML files
             JAXBContext jaxb = JAXBContext.newInstance(AppData.class);
             Unmarshaller um = jaxb.createUnmarshaller();
@@ -711,6 +771,10 @@ public class IntakeServiceImpl extends A
             // Debug mapping
             um.setEventHandler(new DefaultValidationEventHandler());
 
+            // Enable logging
+            Listener logEnabledListener = new AvalonLogEnabledListener();
+            um.setListener(logEnabledListener);
+
             URL schemaURL = getClass().getResource("/intake.xsd");
             SchemaFactory schemaFactory = 
SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
             um.setSchema(schemaFactory.newSchema(schemaURL));
@@ -725,6 +789,8 @@ public class IntakeServiceImpl extends A
                 getLogger().debug("Saving appData for " + xmlFile);
             }
 
+            getLogger().debug("Parsing took " + (System.currentTimeMillis() - 
timer));
+
             saveSerialized(serialDataPath, appDataElements);
         }
 

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/BooleanField.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/BooleanField.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/BooleanField.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/BooleanField.java
 Tue Apr 14 15:47:06 2015
@@ -48,7 +48,8 @@ public class BooleanField
      *
      * @param prop Parameter for the default values
      */
-    public void setDefaultValue(String prop)
+    @Override
+       public void setDefaultValue(String prop)
     {
         defaultValue = null;
 
@@ -68,7 +69,8 @@ public class BooleanField
      *
      * @param prop The value to use if the field is empty.
      */
-    public void setEmptyValue(String prop)
+    @Override
+       public void setEmptyValue(String prop)
     {
         emptyValue = null;
 
@@ -90,7 +92,8 @@ public class BooleanField
      * @return the value to use when the field is empty or an Object that
      * wraps the empty value for primitive types.
      */
-    protected Object getSafeEmptyValue()
+    @Override
+       protected Object getSafeEmptyValue()
     {
         if (isMultiValued)
         {
@@ -107,7 +110,8 @@ public class BooleanField
      *
      * @return class name of the validator
      */
-    protected String getDefaultValidator()
+    @Override
+       protected String getDefaultValidator()
     {
         return BooleanValidator.class.getName();
     }
@@ -115,7 +119,8 @@ public class BooleanField
     /**
      * Sets the value of the field from data in the parser.
      */
-    protected void doSetValue()
+    @Override
+       protected void doSetValue()
     {
         if (isMultiValued)
         {
@@ -152,7 +157,7 @@ public class BooleanField
         }
         catch (Exception e)
         {
-            log.error(e);
+            log.error("Error getting boolean value " + getValue(), e);
         }
         return result;
     }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Field.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Field.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Field.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Field.java
 Tue Apr 14 15:47:06 2015
@@ -26,10 +26,11 @@ import java.io.Serializable;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.Locale;
+import java.util.Map;
 
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.fulcrum.intake.IntakeError;
 import org.apache.fulcrum.intake.IntakeException;
 import org.apache.fulcrum.intake.IntakeServiceFacade;
@@ -51,7 +52,7 @@ import org.apache.fulcrum.parser.ValuePa
  * @author <a href="mailto:[email protected]";>Thomas Vandahl</a>
  * @version $Id$
  */
-public abstract class Field<T> implements Serializable
+public abstract class Field<T> implements Serializable, LogEnabled
 {
     /** Serial version */
     private static final long serialVersionUID = 6897267716698096895L;
@@ -171,9 +172,11 @@ public abstract class Field<T> implement
     /** The object containing the field data. */
     protected ValueParser parser;
 
+    /** Store rules for deserialization */
+    private Map<String, Rule> ruleMap;
+
     /** Logging */
-    protected Log log = LogFactory.getLog(this.getClass());
-    protected boolean isDebugEnabled = false;
+    protected transient Logger log;
 
     /**
      * Constructs a field based on data in the xml specification
@@ -188,14 +191,14 @@ public abstract class Field<T> implement
      */
     public Field(XmlField field, Group group) throws IntakeException
     {
-        isDebugEnabled = log.isDebugEnabled();
-
+       enableLogging(field.getLogger());
         this.group = group;
         key = field.getKey();
         name = field.getName();
         displayName = field.getDisplayName();
         displaySize = field.getDisplaySize();
         isMultiValued = field.isMultiValued();
+        ruleMap = field.getRuleMap();
 
         try
         {
@@ -231,13 +234,18 @@ public abstract class Field<T> implement
 
         if (validatorClassName != null)
         {
-            validator = createValidator(validatorClassName, field);
+            validator = createValidator(validatorClassName);
         }
         else
         {
             validator = null;
         }
 
+        if (validator instanceof LogEnabled)
+        {
+               ((LogEnabled)validator).enableLogging(log);
+        }
+
         // field may have been declared as always required in the xml spec
         Rule reqRule = field.getRuleMap().get("required");
         if (reqRule != null)
@@ -259,6 +267,15 @@ public abstract class Field<T> implement
     }
 
     /**
+        * Enable Avalon Logging
+        */
+       @Override
+       public void enableLogging(Logger logger)
+       {
+               this.log = logger.getChildLogger(getClass().getSimpleName());
+       }
+
+    /**
      * Initialize getter and setter from properties
      */
     public void initGetterAndSetter()
@@ -319,7 +336,7 @@ public abstract class Field<T> implement
 
         if (pp.containsKey(getKey()))
         {
-            if (isDebugEnabled)
+            if (log.isDebugEnabled())
             {
                 log.debug(name + ": Found our Key in the request, setting 
Value");
             }
@@ -609,7 +626,7 @@ public abstract class Field<T> implement
         {
             stringValues = parser.getStrings(getKey());
 
-            if (isDebugEnabled)
+            if (log.isDebugEnabled())
             {
                 log.debug(name + ": Multi-Valued, Value is " + stringValue);
                 if (stringValues != null)
@@ -646,7 +663,7 @@ public abstract class Field<T> implement
         {
             stringValue = parser.getString(getKey());
 
-            if (isDebugEnabled)
+            if (log.isDebugEnabled())
             {
                 log.debug(name + ": Single Valued, Value is " + stringValue);
             }
@@ -879,7 +896,7 @@ public abstract class Field<T> implement
      */
     public void setProperty(Object obj) throws IntakeException
     {
-        if (isDebugEnabled)
+        if (log.isDebugEnabled())
         {
             log.debug(name + ".setProperty(" + obj.getClass().getName() + ")");
         }
@@ -892,7 +909,7 @@ public abstract class Field<T> implement
         if (isSet() && null != getTestValue())
         {
             valArray[0] = getTestValue();
-            if (isDebugEnabled)
+            if (log.isDebugEnabled())
             {
                 log.debug(name + ": Property is set, value is " + valArray[0]);
             }
@@ -900,7 +917,7 @@ public abstract class Field<T> implement
         else
         {
             valArray[0] = getSafeEmptyValue();
-            if (isDebugEnabled)
+            if (log.isDebugEnabled())
             {
                 log.debug(name + ": Property is not set, using emptyValue " + 
valArray[0]);
             }
@@ -918,7 +935,7 @@ public abstract class Field<T> implement
             {
                 setter.invoke(obj, valArray);
             }
-            else if (isDebugEnabled)
+            else if (log.isDebugEnabled())
             {
                 log.debug(name + ": has a null setter for the mapToProperty"
                         + " Attribute, although all Fields should be mapped"
@@ -1055,7 +1072,7 @@ public abstract class Field<T> implement
      * @throws IntakeException if the instance could not be created
      */
     @SuppressWarnings("unchecked")
-    private Validator<T> createValidator(String validatorClassName, XmlField 
field)
+    private Validator<T> createValidator(String validatorClassName)
             throws IntakeException
     {
         Validator<T> v;
@@ -1086,19 +1103,15 @@ public abstract class Field<T> implement
 
         // this should always be true for now
         // (until bean property initialization is implemented)
-        // FIXME: rulemap is not available when deserialized
-        if (field != null)
+        if (v instanceof InitableByConstraintMap)
         {
-            if (v instanceof InitableByConstraintMap)
-            {
-                ((InitableByConstraintMap) v).init(field.getRuleMap());
-            }
-            else
-            {
-                throw new IntakeError(
-                        "All Validation objects must be subclasses of "
-                        + "InitableByConstraintMap");
-            }
+            ((InitableByConstraintMap) v).init(this.ruleMap);
+        }
+        else
+        {
+            throw new IntakeError(
+                    "All Validation objects must be subclasses of "
+                    + "InitableByConstraintMap");
         }
 
         return v;
@@ -1128,7 +1141,7 @@ public abstract class Field<T> implement
 
             if (validatorClassName != null)
             {
-                validator = createValidator(validatorClassName, null);
+                validator = createValidator(validatorClassName);
             }
         }
         catch (ClassNotFoundException e)

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Group.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Group.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Group.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/Group.java
 Tue Apr 14 15:47:06 2015
@@ -34,9 +34,9 @@ import javax.xml.bind.annotation.XmlElem
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.commons.pool2.BaseKeyedPooledObjectFactory;
 import org.apache.commons.pool2.PooledObject;
 import org.apache.commons.pool2.impl.DefaultPooledObject;
@@ -55,7 +55,7 @@ import org.apache.fulcrum.parser.ValuePa
  */
 @XmlType(name="group")
 @XmlAccessorType(XmlAccessType.NONE)
-public class Group implements Serializable
+public class Group implements Serializable, LogEnabled
 {
     /** Serial version */
     private static final long serialVersionUID = -5452725641409669284L;
@@ -67,14 +67,8 @@ public class Group implements Serializab
      */
     public static final String NEW = "_0";
 
-    private static final Log log;
-    private static final boolean isDebugEnabled;
-
-    static
-    {
-        log = LogFactory.getLog(Group.class);
-        isDebugEnabled = log.isDebugEnabled();
-    }
+    /** Logging */
+    private transient Logger log;
 
     /**
      * The key used to represent this group in a parameter.
@@ -138,6 +132,15 @@ public class Group implements Serializab
     protected boolean isDeclared;
 
     /**
+        * Enable Avalon Logging
+        */
+       @Override
+       public void enableLogging(Logger logger)
+       {
+               this.log = logger.getChildLogger(getClass().getSimpleName());
+       }
+
+       /**
      * Initializes the default Group using parameters.
      *
      * @param pp a <code>ValueParser</code> value
@@ -381,7 +384,7 @@ public class Group implements Serializab
         for (int i = fieldsArray.length - 1; i >= 0; i--)
         {
             valid &= fieldsArray[i].isValid();
-            if (isDebugEnabled && !fieldsArray[i].isValid())
+            if (log.isDebugEnabled() && !fieldsArray[i].isValid())
             {
                 log.debug("Group(" + oid + "): " + name + "; Field: "
                         + fieldsArray[i].name + "; value=" +
@@ -404,7 +407,7 @@ public class Group implements Serializab
 
         while (cls != null)
         {
-            if (isDebugEnabled)
+            if (log.isDebugEnabled())
             {
                 log.debug("setProperties(" + cls.getName() + ")");
             }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/XmlField.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/XmlField.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/XmlField.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/model/XmlField.java
 Tue Apr 14 15:47:06 2015
@@ -34,6 +34,8 @@ import javax.xml.bind.annotation.XmlAttr
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
 import org.apache.commons.lang.StringUtils;
 
 /**
@@ -48,7 +50,7 @@ import org.apache.commons.lang.StringUti
 @XmlType(name="field")
 @XmlAccessorType(XmlAccessType.NONE)
 public class XmlField
-        implements Serializable
+        implements Serializable, LogEnabled
 {
     /**
      * Serial version id
@@ -96,6 +98,8 @@ public class XmlField
 
     private Group parent;
 
+    private Logger log;
+
     /**
      * Default Constructor
      */
@@ -105,6 +109,23 @@ public class XmlField
     }
 
     /**
+        * Enable Avalon Logging
+        */
+       @Override
+       public void enableLogging(Logger logger)
+       {
+               this.log = logger;
+       }
+
+       /**
+        * Return Avalon logger
+        */
+       public Logger getLogger()
+       {
+               return log;
+       }
+
+    /**
      * Get the name of the property
      */
     public String getRawName()

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BigDecimalValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BigDecimalValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BigDecimalValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BigDecimalValidator.java
 Tue Apr 14 15:47:06 2015
@@ -23,7 +23,6 @@ import java.math.BigDecimal;
 import java.text.NumberFormat;
 import java.text.ParseException;
 import java.util.Locale;
-import java.util.Map;
 
 
 /**
@@ -50,18 +49,6 @@ public class BigDecimalValidator
         extends NumberValidator<BigDecimal>
 {
     /**
-     * Constructor to use when initializing Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public BigDecimalValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public BigDecimalValidator()
@@ -74,11 +61,18 @@ public class BigDecimalValidator
      * @see 
org.apache.fulcrum.intake.validator.NumberValidator#parseNumber(java.lang.String,
 java.util.Locale)
      */
     @Override
-    protected BigDecimal parseNumber(String stringValue, Locale locale) throws 
ParseException
+    protected BigDecimal parseNumber(String stringValue, Locale locale) throws 
NumberFormatException
     {
         NumberFormat nf = NumberFormat.getInstance(locale);
 
-        Number number = nf.parse(stringValue);
-        return new BigDecimal(number.doubleValue());
+        try
+        {
+            Number number = nf.parse(stringValue);
+            return new BigDecimal(number.doubleValue());
+               }
+        catch (ParseException e)
+        {
+               throw new NumberFormatException(e.getMessage());
+               }
     }
 }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BooleanValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BooleanValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BooleanValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/BooleanValidator.java
 Tue Apr 14 15:47:06 2015
@@ -20,7 +20,6 @@ package org.apache.fulcrum.intake.valida
  */
 
 import java.text.ParseException;
-import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
 
@@ -73,18 +72,6 @@ public class BooleanValidator
     }
 
     /**
-     * Constructor to use when initialising Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public BooleanValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Determine whether a testValue meets the criteria specified
      * in the constraints defined for this validator
      *
@@ -92,7 +79,8 @@ public class BooleanValidator
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(String testValue)
+    @Override
+       public void assertValidity(String testValue)
             throws ValidationException
     {
         super.assertValidity(testValue);
@@ -111,7 +99,7 @@ public class BooleanValidator
     }
 
     /**
-     * Parses a srting value into a Boolean object.
+     * Parses a string value into a Boolean object.
      *
      * @param stringValue the value to parse
      * @return a <code>Boolean</a> object

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateRangeValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateRangeValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateRangeValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateRangeValidator.java
 Tue Apr 14 15:47:06 2015
@@ -26,7 +26,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.fulcrum.intake.IntakeException;
 import org.apache.fulcrum.intake.model.Field;
 import org.apache.fulcrum.intake.model.Group;
 
@@ -71,12 +70,6 @@ public class DateRangeValidator
     /** Callback for the actual compare operation */
     CompareCallback<Date> compareCallback;
 
-    public DateRangeValidator(Map<String, Constraint> paramMap)
-            throws IntakeException
-    {
-        super(paramMap);
-    }
-
     /**
      *  Default constructor
      */
@@ -86,12 +79,13 @@ public class DateRangeValidator
     }
 
     /**
-     * Constructor to use when initialising Object
+     * Constructor to use when initializing Object
      *
      * @param paramMap
      * @throws InvalidMaskException
      */
-    public void init(Map<String, ? extends Constraint> paramMap)
+    @Override
+       public void init(Map<String, ? extends Constraint> paramMap)
             throws InvalidMaskException
     {
         super.init(paramMap);
@@ -107,7 +101,8 @@ public class DateRangeValidator
                  *
                  * @return the result of the comparison
                  */
-                public boolean compareValues(int compare, Date thisValue, Date 
refValue)
+                @Override
+                               public boolean compareValues(int compare, Date 
thisValue, Date refValue)
                 {
                     boolean result = true;
 
@@ -169,7 +164,8 @@ public class DateRangeValidator
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(Field<Date> testField)
+    @Override
+       public void assertValidity(Field<Date> testField)
         throws ValidationException
     {
         super.assertValidity(testField);

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateStringValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateStringValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateStringValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DateStringValidator.java
 Tue Apr 14 15:47:06 2015
@@ -28,7 +28,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.fulcrum.intake.IntakeException;
 
 /**
  * Validates numbers with the following constraints in addition to those
@@ -75,12 +74,6 @@ public class DateStringValidator
     /**  */
     private SimpleDateFormat sdf = null;
 
-    public DateStringValidator(Map<String, Constraint> paramMap)
-            throws IntakeException
-    {
-        super(paramMap);
-    }
-
     /**
      * Default Constructor
      */
@@ -91,12 +84,13 @@ public class DateStringValidator
     }
 
     /**
-     * Constructor to use when initialising Object
+     * Constructor to use when initializing Object
      *
      * @param paramMap
      * @throws InvalidMaskException
      */
-    public void init(Map<String, ? extends Constraint> paramMap)
+    @Override
+       public void init(Map<String, ? extends Constraint> paramMap)
             throws InvalidMaskException
     {
         super.init(paramMap);
@@ -154,7 +148,8 @@ public class DateStringValidator
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(String testValue)
+    @Override
+       public void assertValidity(String testValue)
             throws ValidationException
     {
         super.assertValidity(testValue);

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DefaultValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DefaultValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DefaultValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DefaultValidator.java
 Tue Apr 14 15:47:06 2015
@@ -21,9 +21,9 @@ package org.apache.fulcrum.intake.valida
 
 import java.util.Map;
 
+import org.apache.avalon.framework.logger.LogEnabled;
+import org.apache.avalon.framework.logger.Logger;
 import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.fulcrum.intake.model.Field;
 
 /**
@@ -47,7 +47,7 @@ import org.apache.fulcrum.intake.model.F
  * @version $Id$
  */
 abstract public class DefaultValidator<T>
-        implements Validator<T>, InitableByConstraintMap
+        implements Validator<T>, InitableByConstraintMap, LogEnabled
 {
     /** A boolean value to signify if the field is definitely required or not 
*/
     protected boolean required = false;
@@ -71,22 +71,7 @@ abstract public class DefaultValidator<T
     protected String errorMessage = null;
 
     /** Logging */
-    protected Log log = LogFactory.getLog(this.getClass());
-
-    /**
-     * Constructor
-     *
-     * @param paramMap a <code>Map</code> of <code>Rule</code>'s
-     * containing constraints on the input.
-     * @exception InvalidMaskException An invalid mask was specified for one 
of the rules
-
-    */
-    public DefaultValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        this();
-        init(paramMap);
-    }
+    protected Logger log;
 
     /**
      * Default constructor
@@ -97,6 +82,15 @@ abstract public class DefaultValidator<T
     }
 
     /**
+        * Enable Avalon Logging
+        */
+       @Override
+       public void enableLogging(Logger logger)
+       {
+               this.log = logger.getChildLogger(getClass().getSimpleName());
+       }
+
+    /**
      * Extract the relevant parameters from the constraints listed
      * in <rule> tags within the intake.xml file.
      *
@@ -104,7 +98,8 @@ abstract public class DefaultValidator<T
      * containing constraints on the input.
      * @exception InvalidMaskException An invalid mask was specified for one 
of the rules
      */
-    public void init(Map<String, ? extends Constraint> paramMap)
+    @Override
+       public void init(Map<String, ? extends Constraint> paramMap)
             throws InvalidMaskException
     {
         Constraint constraint = paramMap.get(REQUIRED_RULE_NAME);
@@ -139,7 +134,8 @@ abstract public class DefaultValidator<T
      * @param field a <code>Field</code> to be tested
      * @return true if valid, false otherwise
      */
-    public boolean isValid(Field<T> field)
+    @Override
+       public boolean isValid(Field<T> field)
     {
         boolean valid = false;
         try
@@ -162,7 +158,8 @@ abstract public class DefaultValidator<T
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(Field<T> field)
+    @Override
+       public void assertValidity(Field<T> field)
             throws ValidationException
     {
        if (field.isMultiValued())
@@ -189,7 +186,8 @@ abstract public class DefaultValidator<T
      *
      * @deprecated use isValid(Field) instead
      */
-    public boolean isValid(String testValue)
+    @Override
+       public boolean isValid(String testValue)
     {
         boolean valid = false;
         try
@@ -212,7 +210,8 @@ abstract public class DefaultValidator<T
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(String testValue)
+    @Override
+       public void assertValidity(String testValue)
             throws ValidationException
     {
         if (!required && StringUtils.isEmpty(testValue))
@@ -243,7 +242,8 @@ abstract public class DefaultValidator<T
      *
      * @return a <code>String</code> message, or the empty String "".
      */
-    public String getMessage()
+    @Override
+       public String getMessage()
     {
         String retValue = "";
 

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DoubleValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DoubleValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DoubleValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/DoubleValidator.java
 Tue Apr 14 15:47:06 2015
@@ -22,7 +22,6 @@ package org.apache.fulcrum.intake.valida
 import java.text.NumberFormat;
 import java.text.ParseException;
 import java.util.Locale;
-import java.util.Map;
 
 /**
  * Validates Doubles with the following constraints in addition to those
@@ -48,18 +47,6 @@ public class DoubleValidator
         extends NumberValidator<Double>
 {
     /**
-     * Constructor to use when initialising Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public DoubleValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public DoubleValidator()
@@ -72,10 +59,17 @@ public class DoubleValidator
      * @see 
org.apache.fulcrum.intake.validator.NumberValidator#parseNumber(java.lang.String,
 java.util.Locale)
      */
     @Override
-    protected Double parseNumber(String stringValue, Locale locale) throws 
ParseException
+    protected Double parseNumber(String stringValue, Locale locale) throws 
NumberFormatException
     {
         NumberFormat nf = NumberFormat.getInstance(locale);
 
-        return Double.valueOf(nf.parse(stringValue).doubleValue());
+        try
+        {
+                       return 
Double.valueOf(nf.parse(stringValue).doubleValue());
+               }
+        catch (ParseException e)
+        {
+               throw new NumberFormatException(e.getMessage());
+               }
     }
 }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FieldReference.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FieldReference.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FieldReference.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FieldReference.java
 Tue Apr 14 15:47:06 2015
@@ -21,8 +21,6 @@ package org.apache.fulcrum.intake.valida
 
 import java.util.List;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.fulcrum.intake.IntakeException;
 import org.apache.fulcrum.intake.model.Field;
 import org.apache.fulcrum.intake.model.Group;
@@ -62,9 +60,6 @@ import org.apache.fulcrum.intake.model.G
  */
 public class FieldReference
 {
-    /** a local logger */
-    protected static final Log log = LogFactory.getLog(FieldReference.class);
-
     /** Rule name for "&lt;" comparison */
     public static final String RANGE_LT = "less-than";
 
@@ -229,7 +224,6 @@ public class FieldReference
             }
             catch (IntakeException e)
             {
-                log.error("Validate operation failed.", e);
                 throw new ValidationException(ref.getMessage());
             }
 

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FileValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FileValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FileValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FileValidator.java
 Tue Apr 14 15:47:06 2015
@@ -19,10 +19,7 @@ package org.apache.fulcrum.intake.valida
  * under the License.
  */
 
-import java.util.Map;
-
 import org.apache.commons.fileupload.FileItem;
-import org.apache.fulcrum.intake.IntakeException;
 
 /**
  * A validator that will compare a FileItem testValue against the following
@@ -38,21 +35,6 @@ import org.apache.fulcrum.intake.IntakeE
 public class FileValidator
         extends DefaultValidator<FileItem>
 {
-
-    /**
-     *
-     * Constructor
-     *
-     * @param paramMap a <code>Map</code> of <code>rule</code>'s
-     * containing constraints on the input.
-     * @exception InvalidMaskException an invalid mask was specified
-     */
-    public FileValidator(Map<String, Constraint> paramMap)
-            throws IntakeException
-    {
-        super(paramMap);
-    }
-
     /**
      * Default constructor
      */

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FloatValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FloatValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FloatValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/FloatValidator.java
 Tue Apr 14 15:47:06 2015
@@ -22,7 +22,6 @@ package org.apache.fulcrum.intake.valida
 import java.text.NumberFormat;
 import java.text.ParseException;
 import java.util.Locale;
-import java.util.Map;
 
 /**
  * Validates Floats with the following constraints in addition to those
@@ -48,18 +47,6 @@ public class FloatValidator
         extends NumberValidator<Float>
 {
     /**
-     * Constructor to use when initialising Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public FloatValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public FloatValidator()
@@ -72,10 +59,17 @@ public class FloatValidator
      * @see 
org.apache.fulcrum.intake.validator.NumberValidator#parseNumber(java.lang.String,
 java.util.Locale)
      */
     @Override
-    protected Float parseNumber(String stringValue, Locale locale) throws 
ParseException
+    protected Float parseNumber(String stringValue, Locale locale) throws 
NumberFormatException
     {
         NumberFormat nf = NumberFormat.getInstance(locale);
 
-        return Float.valueOf(nf.parse(stringValue).floatValue());
+        try
+        {
+            return Float.valueOf(nf.parse(stringValue).floatValue());
+               }
+        catch (ParseException e)
+        {
+               throw new NumberFormatException(e.getMessage());
+               }
     }
 }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerRangeValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerRangeValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerRangeValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerRangeValidator.java
 Tue Apr 14 15:47:06 2015
@@ -24,7 +24,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.fulcrum.intake.IntakeException;
 import org.apache.fulcrum.intake.model.Field;
 import org.apache.fulcrum.intake.model.Group;
 
@@ -69,12 +68,6 @@ public class IntegerRangeValidator
     /** Callback for the actual compare operation */
     CompareCallback<Integer> compareCallback;
 
-    public IntegerRangeValidator(Map<String, Constraint> paramMap)
-            throws IntakeException
-    {
-        super(paramMap);
-    }
-
     /**
      *  Default constructor
      */
@@ -84,12 +77,13 @@ public class IntegerRangeValidator
     }
 
     /**
-     * Constructor to use when initialising Object
+     * Constructor to use when initializing Object
      *
      * @param paramMap
      * @throws InvalidMaskException
      */
-    public void init(Map<String, ? extends Constraint> paramMap)
+    @Override
+       public void init(Map<String, ? extends Constraint> paramMap)
             throws InvalidMaskException
     {
         super.init(paramMap);
@@ -105,7 +99,8 @@ public class IntegerRangeValidator
                  *
                  * @return the result of the comparison
                  */
-                public boolean compareValues(int compare, Integer thisValue, 
Integer refValue)
+                @Override
+                               public boolean compareValues(int compare, 
Integer thisValue, Integer refValue)
                 {
                     boolean result = true;
 
@@ -167,7 +162,8 @@ public class IntegerRangeValidator
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(final Field<Integer> testField)
+    @Override
+       public void assertValidity(final Field<Integer> testField)
         throws ValidationException
     {
         super.assertValidity(testField);

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/IntegerValidator.java
 Tue Apr 14 15:47:06 2015
@@ -19,9 +19,7 @@ package org.apache.fulcrum.intake.valida
  * under the License.
  */
 
-import java.text.ParseException;
 import java.util.Locale;
-import java.util.Map;
 
 /**
  * Validates Integers with the following constraints in addition to those
@@ -46,18 +44,6 @@ public class IntegerValidator
         extends NumberValidator<Integer>
 {
     /**
-     * Constructor to use when initialising Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public IntegerValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public IntegerValidator()
@@ -70,7 +56,7 @@ public class IntegerValidator
      * @see 
org.apache.fulcrum.intake.validator.NumberValidator#parseNumber(java.lang.String,
 java.util.Locale)
      */
     @Override
-    protected Integer parseNumber(String stringValue, Locale locale) throws 
ParseException
+    protected Integer parseNumber(String stringValue, Locale locale) throws 
NumberFormatException
     {
         return Integer.valueOf(stringValue);
     }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/LongValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/LongValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/LongValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/LongValidator.java
 Tue Apr 14 15:47:06 2015
@@ -19,9 +19,7 @@ package org.apache.fulcrum.intake.valida
  * under the License.
  */
 
-import java.text.ParseException;
 import java.util.Locale;
-import java.util.Map;
 
 /**
  * Validates Longs with the following constraints in addition to those
@@ -46,18 +44,6 @@ public class LongValidator
         extends NumberValidator<Long>
 {
     /**
-     * Constructor to use when initialising Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public LongValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public LongValidator()
@@ -70,7 +56,7 @@ public class LongValidator
      * @see 
org.apache.fulcrum.intake.validator.NumberValidator#parseNumber(java.lang.String,
 java.util.Locale)
      */
     @Override
-    protected Long parseNumber(String stringValue, Locale locale) throws 
ParseException
+    protected Long parseNumber(String stringValue, Locale locale) throws 
NumberFormatException
     {
         return Long.valueOf(stringValue);
     }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/NumberValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/NumberValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/NumberValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/NumberValidator.java
 Tue Apr 14 15:47:06 2015
@@ -19,7 +19,6 @@ package org.apache.fulcrum.intake.valida
  * under the License.
  */
 
-import java.text.ParseException;
 import java.util.Locale;
 import java.util.Map;
 
@@ -61,18 +60,6 @@ public abstract class NumberValidator<T
     private T maxValue = null;
 
     /**
-     * Constructor to use when initializing Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public NumberValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public NumberValidator()
@@ -88,7 +75,8 @@ public abstract class NumberValidator<T
      * containing constraints on the input.
      * @exception InvalidMaskException an invalid mask was specified
      */
-    public void init(Map<String, ? extends Constraint> paramMap)
+    @Override
+       public void init(Map<String, ? extends Constraint> paramMap)
             throws InvalidMaskException
     {
         super.init(paramMap);
@@ -108,7 +96,7 @@ public abstract class NumberValidator<T
             {
                 minValue = parseNumber(param, Locale.US);
             }
-            catch (ParseException e)
+            catch (NumberFormatException e)
             {
                 throw new InvalidMaskException("Could not parse minimum value 
" + param, e);
             }
@@ -123,7 +111,7 @@ public abstract class NumberValidator<T
             {
                 maxValue = parseNumber(param, Locale.US);
             }
-            catch (ParseException e)
+            catch (NumberFormatException e)
             {
                 throw new InvalidMaskException("Could not parse minimum value 
" + param, e);
             }
@@ -139,9 +127,9 @@ public abstract class NumberValidator<T
      *
      * @return the value
      *
-     * @throws ParseException if the value could not be parsed
+     * @throws NumberFormatException if the value could not be parsed
      */
-    protected abstract T parseNumber(String stringValue, Locale locale) throws 
ParseException;
+    protected abstract T parseNumber(String stringValue, Locale locale) throws 
NumberFormatException;
 
     /**
      * Determine whether a field meets the criteria specified
@@ -151,7 +139,8 @@ public abstract class NumberValidator<T
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(Field<T> field) throws ValidationException
+    @Override
+       public void assertValidity(Field<T> field) throws ValidationException
     {
         Locale locale = field.getLocale();
 
@@ -190,7 +179,7 @@ public abstract class NumberValidator<T
             {
                 number = parseNumber(testValue, locale);
             }
-            catch (ParseException e)
+            catch (NumberFormatException e)
             {
                 errorMessage = invalidNumberMessage;
                 throw new ValidationException(invalidNumberMessage);

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/ShortValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/ShortValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/ShortValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/ShortValidator.java
 Tue Apr 14 15:47:06 2015
@@ -19,9 +19,7 @@ package org.apache.fulcrum.intake.valida
  * under the License.
  */
 
-import java.text.ParseException;
 import java.util.Locale;
-import java.util.Map;
 
 /**
  * Validates Shorts with the following constraints in addition to those
@@ -46,18 +44,6 @@ public class ShortValidator
         extends NumberValidator<Short>
 {
     /**
-     * Constructor to use when initialising Object
-     *
-     * @param paramMap
-     * @throws InvalidMaskException
-     */
-    public ShortValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
-    /**
      * Default Constructor
      */
     public ShortValidator()
@@ -70,7 +56,7 @@ public class ShortValidator
      * @see 
org.apache.fulcrum.intake.validator.NumberValidator#parseNumber(java.lang.String,
 java.util.Locale)
      */
     @Override
-    protected Short parseNumber(String stringValue, Locale locale) throws 
ParseException
+    protected Short parseNumber(String stringValue, Locale locale) throws 
NumberFormatException
     {
         return Short.valueOf(stringValue);
     }

Modified: 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/StringValidator.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/StringValidator.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/StringValidator.java
 (original)
+++ 
turbine/fulcrum/trunk/intake/src/java/org/apache/fulcrum/intake/validator/StringValidator.java
 Tue Apr 14 15:47:06 2015
@@ -57,21 +57,6 @@ public class StringValidator
     /** The message to report if the mask constraint is not satisfied */
     protected String maskMessage = null;
 
-
-    /**
-     * Constructor
-     *
-     * @param paramMap a <code>Map</code> of <code>Rule</code>'s
-     * containing constraints on the input.
-     * @exception InvalidMaskException An invalid mask was specified for one 
of the rules
-
-    */
-    public StringValidator(Map<String, Constraint> paramMap)
-            throws InvalidMaskException
-    {
-        super(paramMap);
-    }
-
     /**
      * Default constructor
      */
@@ -88,7 +73,8 @@ public class StringValidator
      * containing constraints on the input.
      * @exception InvalidMaskException An invalid mask was specified for one 
of the rules
      */
-    public void init(Map<String, ? extends Constraint> paramMap)
+    @Override
+       public void init(Map<String, ? extends Constraint> paramMap)
             throws InvalidMaskException
     {
         super.init(paramMap);
@@ -111,7 +97,8 @@ public class StringValidator
      * @exception ValidationException containing an error message if the
      * testValue did not pass the validation tests.
      */
-    public void assertValidity(String testValue)
+    @Override
+       public void assertValidity(String testValue)
             throws ValidationException
     {
         super.assertValidity(testValue);

Modified: 
turbine/fulcrum/trunk/intake/src/test/org/apache/fulcrum/intake/IntakeTest.java
URL: 
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/intake/src/test/org/apache/fulcrum/intake/IntakeTest.java?rev=1673447&r1=1673446&r2=1673447&view=diff
==============================================================================
--- 
turbine/fulcrum/trunk/intake/src/test/org/apache/fulcrum/intake/IntakeTest.java 
(original)
+++ 
turbine/fulcrum/trunk/intake/src/test/org/apache/fulcrum/intake/IntakeTest.java 
Tue Apr 14 15:47:06 2015
@@ -20,12 +20,18 @@ package org.apache.fulcrum.intake;
  */
 
 import java.util.Arrays;
+import java.util.Locale;
 
 import org.apache.fulcrum.intake.model.Field;
 import org.apache.fulcrum.intake.model.Group;
 import org.apache.fulcrum.intake.test.LoginForm;
+import org.apache.fulcrum.intake.validator.BigDecimalValidator;
 import org.apache.fulcrum.intake.validator.BooleanValidator;
+import org.apache.fulcrum.intake.validator.DoubleValidator;
+import org.apache.fulcrum.intake.validator.FloatValidator;
 import org.apache.fulcrum.intake.validator.IntegerValidator;
+import org.apache.fulcrum.intake.validator.LongValidator;
+import org.apache.fulcrum.intake.validator.ShortValidator;
 import org.apache.fulcrum.intake.validator.ValidationException;
 import org.apache.fulcrum.parser.DefaultParameterParser;
 import org.apache.fulcrum.parser.ParserService;
@@ -71,7 +77,7 @@ public class IntakeTest extends BaseUnit
     public void testFacadeConfigured() throws Exception
     {
         // this.lookup causes the workflow service to be configured.
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("LoginGroup");
         assertNotNull(group);
         assertTrue(IntakeServiceFacade.isInitialized());
@@ -81,7 +87,7 @@ public class IntakeTest extends BaseUnit
 
     public void testInterfaceMapTo() throws Exception
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("LoginIfcGroup");
         assertNotNull(group);
 
@@ -102,7 +108,7 @@ public class IntakeTest extends BaseUnit
 
     public void testParserInit() throws Exception
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("LoginGroup");
         assertNotNull(group);
 
@@ -122,7 +128,7 @@ public class IntakeTest extends BaseUnit
 
     public void testEmptyBooleanField() throws Exception
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("BooleanTest");
         assertNotNull(group);
         assertTrue(IntakeServiceFacade.isInitialized());
@@ -134,7 +140,7 @@ public class IntakeTest extends BaseUnit
 
     public void testBooleanField() throws Exception
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("BooleanTest");
         assertNotNull(group);
         assertTrue(IntakeServiceFacade.isInitialized());
@@ -146,7 +152,7 @@ public class IntakeTest extends BaseUnit
 
     public void testRequiredBooleanField() throws Exception
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("BooleanTest");
         assertNotNull(group);
         assertTrue(IntakeServiceFacade.isInitialized());
@@ -158,7 +164,7 @@ public class IntakeTest extends BaseUnit
 
     public void testMultiValueField() throws Exception
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("NumberTest");
         assertNotNull(group);
         Field<?> multiValueField = group.get("MultiIntegerTestField");
@@ -181,14 +187,15 @@ public class IntakeTest extends BaseUnit
 
     public void testInvalidNumberMessage() throws Exception // TRB-74
     {
-        IntakeService is = (IntakeService) this.resolve( 
IntakeService.class.getName() );
+        IntakeService is = (IntakeService) this.resolve( IntakeService.ROLE );
         Group group = is.getGroup("NumberTest");
         assertNotNull(group);
 
         Field<?> intField = group.get("EmptyIntegerTestField");
         try
         {
-            intField.getValidator().assertValidity("aa");
+            ((IntegerValidator)intField.getValidator()).assertValidity("aa", 
Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {
@@ -198,7 +205,8 @@ public class IntakeTest extends BaseUnit
         Field<?> longField = group.get("EmptyLongTestField");
         try
         {
-            longField.getValidator().assertValidity("aa");
+               ((LongValidator)longField.getValidator()).assertValidity("aa", 
Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {
@@ -208,7 +216,8 @@ public class IntakeTest extends BaseUnit
         Field<?> shortField = group.get("EmptyShortTestField");
         try
         {
-            shortField.getValidator().assertValidity("aa");
+               
((ShortValidator)shortField.getValidator()).assertValidity("aa", Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {
@@ -218,7 +227,8 @@ public class IntakeTest extends BaseUnit
         Field<?> floatField = group.get("EmptyFloatTestField");
         try
         {
-            floatField.getValidator().assertValidity("aa");
+               
((FloatValidator)floatField.getValidator()).assertValidity("aa", Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {
@@ -228,7 +238,8 @@ public class IntakeTest extends BaseUnit
         Field<?> doubleField = group.get("EmptyDoubleTestField");
         try
         {
-            doubleField.getValidator().assertValidity("aa");
+               
((DoubleValidator)doubleField.getValidator()).assertValidity("aa", Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {
@@ -238,7 +249,8 @@ public class IntakeTest extends BaseUnit
         Field<?> bigDecimalField = group.get("EmptyBigDecimalTestField");
         try
         {
-            bigDecimalField.getValidator().assertValidity("aa");
+               
((BigDecimalValidator)bigDecimalField.getValidator()).assertValidity("aa", 
Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {
@@ -248,7 +260,8 @@ public class IntakeTest extends BaseUnit
         Field<?> numberField = group.get("NumberTestField");
         try
         {
-            numberField.getValidator().assertValidity("aa");
+               
((IntegerValidator)numberField.getValidator()).assertValidity("aa", Locale.US);
+            fail("Validator should throw ValidationException");
         }
         catch (ValidationException ve)
         {


Reply via email to