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 "<" 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)
{