Author: lukaszlenart Date: Mon Jan 21 18:13:32 2013 New Revision: 1436526 URL: http://svn.apache.org/viewvc?rev=1436526&view=rev Log: WW-3829 adds better logging and improve example in JavaDoc
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/annotations/Conversion.java struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/annotations/Conversion.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/annotations/Conversion.java?rev=1436526&r1=1436525&r2=1436526&view=diff ============================================================================== --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/annotations/Conversion.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/annotations/Conversion.java Mon Jan 21 18:13:32 2013 @@ -22,13 +22,13 @@ import java.lang.annotation.Target; /** * <!-- START SNIPPET: description --> - * <p/>A marker annotation for type conversions at Type level. + * A marker annotation for type conversions at Type level. * <!-- END SNIPPET: description --> * * <p/> <u>Annotation usage:</u> * * <!-- START SNIPPET: usage --> - * <p/>The Conversion annotation must be applied at Type level. + * The Conversion annotation must be applied at Type level. Check also [TypeConversion Annotation] for more examples! * <!-- END SNIPPET: usage --> * * <p/> <u>Annotation parameters:</u> @@ -58,8 +58,24 @@ import java.lang.annotation.Target; * * <pre> * <!-- START SNIPPET: example --> - * @Conversion() + * @Conversion( + * conversions = { + * // key must be the name of a property for which converter should be used + * @TypeConversion(key = "date", converter = "org.demo.converter.DateConverter") + * } + * ) * public class ConversionAction implements Action { + * + * private Date date; + * + * public setDate(Date date) { + * this.date = date; + * } + * + * public Date getDate() { + * return date; + * } + * * } * * <!-- END SNIPPET: example --> Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java?rev=1436526&r1=1436525&r2=1436526&view=diff ============================================================================== --- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java (original) +++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java Mon Jan 21 18:13:32 2013 @@ -20,8 +20,8 @@ import com.opensymphony.xwork2.FileManag import com.opensymphony.xwork2.FileManagerFactory; import com.opensymphony.xwork2.ObjectFactory; import com.opensymphony.xwork2.XWorkConstants; -import com.opensymphony.xwork2.XWorkMessages; import com.opensymphony.xwork2.XWorkException; +import com.opensymphony.xwork2.XWorkMessages; import com.opensymphony.xwork2.conversion.TypeConverter; import com.opensymphony.xwork2.conversion.annotations.Conversion; import com.opensymphony.xwork2.conversion.annotations.ConversionRule; @@ -29,10 +29,15 @@ import com.opensymphony.xwork2.conversio import com.opensymphony.xwork2.conversion.annotations.TypeConversion; import com.opensymphony.xwork2.inject.Inject; import com.opensymphony.xwork2.ognl.XWorkTypeConverterWrapper; -import com.opensymphony.xwork2.util.*; +import com.opensymphony.xwork2.util.AnnotationUtils; +import com.opensymphony.xwork2.util.ClassLoaderUtil; +import com.opensymphony.xwork2.util.CompoundRoot; +import com.opensymphony.xwork2.util.LocalizedTextUtil; +import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.util.logging.Logger; import com.opensymphony.xwork2.util.logging.LoggerFactory; import com.opensymphony.xwork2.util.reflection.ReflectionContextState; +import org.apache.commons.lang3.StringUtils; import java.io.IOException; import java.io.InputStream; @@ -40,10 +45,16 @@ import java.lang.annotation.Annotation; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.net.URL; -import java.util.*; +import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Properties; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.text.MessageFormat; /** @@ -587,7 +598,11 @@ public class XWorkConverter extends Defa break; } if (LOG.isDebugEnabled()) { - LOG.debug(key + ":" + key); + if (StringUtils.isEmpty(key)) { + LOG.debug("WARNING! key of @TypeConversion [#0] applied to [#1] is empty!", tc.converter(), clazz.getName()); + } else { + LOG.debug("TypeConversion [#0] with key: [#1]", tc.converter(), key); + } } if (key != null) {