Re: [morph-user] Some questions and a Map copy problem
Brought to you by:
orangeherbert,
sgarlatm
|
From: Matt S. <Mat...@wh...> - 2007-01-28 17:34:56
|
Hi Bruce, thank you for sending the stack trace. The error message
thrown here by Morph certainly could use some improvement. The error
thrown here is thrown when a property is missing either on your source
or destination object. In this case, it appears that missing property
is in your source object. The source object is the String "Audi", and
Morph is not able to read its manufacturer property because Strings do
not have a manufacturer property.
The reason for this not so intelligent behavior on Morph's part is that
PropertyNameMappingCopier by default is bidirectional and throws errors
if it encounters missing properties. I'll think about changing this
default, but in the meantime you'll want to call new
PropertyNameMappingCopier(false) to suppress errors when properties are
missing. If you have logging enabled for Morph, you will get WARNings
when properties are missing instead.
Remember, by default a PropertyNameMappingCopier will try to do
transformations of all Objects to any other type of Object. Instead,
you probably want to narrow that down a bit by specifying the source and
destination classes it should attempt to transform. Otherwise, you will
end up with simple transformations like String -> Integer failing
because they are trying to go through the PropertyNameMappingCopier
instead of simpler transformers like the TextToNumberConverter.
Matt
Bruce Lombardi wrote:
>
> Matt,
>
>
>
> Sorry about that, here is the trace.
>
>
>
> -- Bruce
>
>
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer@775db134
> (class net.sf.morph.transform.transformers.SimpleDelegatingTransformer)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.examples.person.MoneyToStringConverter@4d4a3137 (class
> net.sf.morph.examples.person.MoneyToStringConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.examples.person.StringToMoneyConverter@379ab134 (class
> net.sf.morph.examples.person.StringToMoneyConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.examples.person.TextToIntConverter@3096f134 (class
> net.sf.morph.examples.person.TextToIntConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.DefaultToBooleanConverter@5f61f134
> (class net.sf.morph.transform.converters.DefaultToBooleanConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.IdentityConverter@47b3f134 (class
> net.sf.morph.transform.converters.IdentityConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.PrimitiveWrapperConverter@4194f134
> (class net.sf.morph.transform.converters.PrimitiveWrapperConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextToBooleanConverter@4c777134
> (class net.sf.morph.transform.converters.TextToBooleanConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NumberToBooleanConverter@4d0cb134
> (class net.sf.morph.transform.converters.NumberToBooleanConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.ObjectToBooleanConverter@5ed9b134
> (class net.sf.morph.transform.converters.ObjectToBooleanConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NullConverter@5a663134 (class
> net.sf.morph.transform.converters.NullConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.IdentityConverter@5a297134 (class
> net.sf.morph.transform.converters.IdentityConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.ObjectToClassConverter@5ba33134
> (class net.sf.morph.transform.converters.ObjectToClassConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.DefaultToTextConverter@44a8b134
> (class net.sf.morph.transform.converters.DefaultToTextConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextConverter@4fc1b134 (class
> net.sf.morph.transform.converters.TextConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextToNumberConverter@3cd87137
> (class net.sf.morph.transform.converters.TextToNumberConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextConverter@5aeb7134 (class
> net.sf.morph.transform.converters.TextConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NumberConverter@58f0b134 (class
> net.sf.morph.transform.converters.NumberConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextToTimeConverter@68203134 (class
> net.sf.morph.transform.converters.TextToTimeConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextConverter@5f783134 (class
> net.sf.morph.transform.converters.TextConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TimeConverter@5e32b134 (class
> net.sf.morph.transform.converters.TimeConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NumberToTimeConverter@687af134
> (class net.sf.morph.transform.converters.NumberToTimeConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NumberConverter@520a7134 (class
> net.sf.morph.transform.converters.NumberConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TimeConverter@50d7b134 (class
> net.sf.morph.transform.converters.TimeConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TimeToNumberConverter@6c5df134
> (class net.sf.morph.transform.converters.TimeToNumberConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TimeConverter@5588b134 (class
> net.sf.morph.transform.converters.TimeConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NumberConverter@5419f134 (class
> net.sf.morph.transform.converters.NumberConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.NumberConverter@61dd7134 (class
> net.sf.morph.transform.converters.NumberConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TextConverter@66ee7134 (class
> net.sf.morph.transform.converters.TextConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.converters.TimeConverter@655bf134 (class
> net.sf.morph.transform.converters.TimeConverter)
>
> Jan 26, 2007 4:07:17 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.copiers.ContainerCopier@7f3ff134 (class
> net.sf.morph.transform.copiers.ContainerCopier)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ListReflector@7e773137 (class
> net.sf.morph.reflect.reflectors.ListReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SortedSetReflector@7dd2f137 (class
> net.sf.morph.reflect.reflectors.SortedSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SetReflector@7d7b7137 (class
> net.sf.morph.reflect.reflectors.SetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.EnumerationReflector@7230f137 (class
> net.sf.morph.reflect.reflectors.EnumerationReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.IteratorReflector@7785f137 (class
> net.sf.morph.reflect.reflectors.IteratorReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ArrayReflector@74aff137 (class
> net.sf.morph.reflect.reflectors.ArrayReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.CollectionReflector@74177137 (class
> net.sf.morph.reflect.reflectors.CollectionReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ResultSetReflector@dddf137 (class
> net.sf.morph.reflect.reflectors.ResultSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ContextReflector@5367137 (class
> net.sf.morph.reflect.reflectors.ContextReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.MapReflector@1d1c7137 (class
> net.sf.morph.reflect.reflectors.MapReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.PageContextAttributeReflector@26c9f137
> (class net.sf.morph.reflect.reflectors.PageContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector@254eb137
> (class net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector@3a68b137
> (class net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletContextAttributeReflector@3ef57137
> (class net.sf.morph.reflect.reflectors.ServletContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.DynaBeanReflector@4b97f137 (class
> net.sf.morph.reflect.reflectors.DynaBeanReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector@4af53137
> (class net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ObjectReflector@42a5b137 (class
> net.sf.morph.reflect.reflectors.ObjectReflector)
>
> Jan 26, 2007 4:07:18 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.examples.person.MyPropertyNameMatchingCopier@72beb134
> (class net.sf.morph.examples.person.MyPropertyNameMatchingCopier)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ListReflector@2eee7137 (class
> net.sf.morph.reflect.reflectors.ListReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SortedSetReflector@2eeaf137 (class
> net.sf.morph.reflect.reflectors.SortedSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SetReflector@2ef17137 (class
> net.sf.morph.reflect.reflectors.SetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.EnumerationReflector@2efdf137 (class
> net.sf.morph.reflect.reflectors.EnumerationReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.IteratorReflector@2ef87137 (class
> net.sf.morph.reflect.reflectors.IteratorReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ArrayReflector@2ec4f137 (class
> net.sf.morph.reflect.reflectors.ArrayReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.CollectionReflector@2ec37137 (class
> net.sf.morph.reflect.reflectors.CollectionReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ResultSetReflector@2ecff137 (class
> net.sf.morph.reflect.reflectors.ResultSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ContextReflector@2eca7137 (class
> net.sf.morph.reflect.reflectors.ContextReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.MapReflector@2ed6b137 (class
> net.sf.morph.reflect.reflectors.MapReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.PageContextAttributeReflector@2edd3137
> (class net.sf.morph.reflect.reflectors.PageContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector@2ed9b137
> (class net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector@2ea43137
> (class net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletContextAttributeReflector@2ea0b137
> (class net.sf.morph.reflect.reflectors.ServletContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.DynaBeanReflector@2eaf3137 (class
> net.sf.morph.reflect.reflectors.DynaBeanReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector@2eaa7137
> (class net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ObjectReflector@2eb6b137 (class
> net.sf.morph.reflect.reflectors.ObjectReflector)
>
> Jan 26, 2007 4:07:18 PM
> net.sf.morph.transform.copiers.PropertyNameMatchingCopier copyImpl
>
> INFO: Copying properties maker, vin and name
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ListReflector@7d5bb137 (class
> net.sf.morph.reflect.reflectors.ListReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SortedSetReflector@7d263137 (class
> net.sf.morph.reflect.reflectors.SortedSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SetReflector@7cc6f137 (class
> net.sf.morph.reflect.reflectors.SetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.EnumerationReflector@7ccd7137 (class
> net.sf.morph.reflect.reflectors.EnumerationReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.IteratorReflector@7cc9f137 (class
> net.sf.morph.reflect.reflectors.IteratorReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ArrayReflector@7cd47137 (class
> net.sf.morph.reflect.reflectors.ArrayReflector)
>
> A4 null 12345
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.CollectionReflector@7ce13137 (class
> net.sf.morph.reflect.reflectors.CollectionReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ResultSetReflector@7cedb137 (class
> net.sf.morph.reflect.reflectors.ResultSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ContextReflector@7ce83137 (class
> net.sf.morph.reflect.reflectors.ContextReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.MapReflector@7cf77137 (class
> net.sf.morph.reflect.reflectors.MapReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.PageContextAttributeReflector@7cf3f137
> (class net.sf.morph.reflect.reflectors.PageContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector@7c247137
> (class net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector@7c20f137
> (class net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletContextAttributeReflector@7c2f7137
> (class net.sf.morph.reflect.reflectors.ServletContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.DynaBeanReflector@7c2bf137 (class
> net.sf.morph.reflect.reflectors.DynaBeanReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector@7c703137
> (class net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ObjectReflector@7c7f7137 (class
> net.sf.morph.reflect.reflectors.ObjectReflector)
>
> Jan 26, 2007 4:07:18 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer@dc17134
> (class net.sf.morph.transform.transformers.SimpleDelegatingTransformer)
>
> Jan 26, 2007 4:07:18 PM
> net.sf.morph.transform.transformers.BaseTransformer initialize
>
> INFO: Initializing transformer
> net.sf.morph.transform.copiers.PropertyNameMappingCopier@390c7137
> (class net.sf.morph.transform.copiers.PropertyNameMappingCopier)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ListReflector@4df4f137 (class
> net.sf.morph.reflect.reflectors.ListReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SortedSetReflector@4df37137 (class
> net.sf.morph.reflect.reflectors.SortedSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SetReflector@4dfff137 (class
> net.sf.morph.reflect.reflectors.SetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.EnumerationReflector@4dfa7137 (class
> net.sf.morph.reflect.reflectors.EnumerationReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.IteratorReflector@4dc6f137 (class
> net.sf.morph.reflect.reflectors.IteratorReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ArrayReflector@4dcd7137 (class
> net.sf.morph.reflect.reflectors.ArrayReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.CollectionReflector@4dc9f137 (class
> net.sf.morph.reflect.reflectors.CollectionReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ResultSetReflector@4dd47137 (class
> net.sf.morph.reflect.reflectors.ResultSetReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ContextReflector@4dd0f137 (class
> net.sf.morph.reflect.reflectors.ContextReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.MapReflector@4ddf3137 (class
> net.sf.morph.reflect.reflectors.MapReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.PageContextAttributeReflector@4cc3b137
> (class net.sf.morph.reflect.reflectors.PageContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector@4cce3137
> (class net.sf.morph.reflect.reflectors.ServletRequestAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector@4ccab137
> (class net.sf.morph.reflect.reflectors.HttpSessionAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ServletContextAttributeReflector@4cd13137
> (class net.sf.morph.reflect.reflectors.ServletContextAttributeReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.DynaBeanReflector@4cddb137 (class
> net.sf.morph.reflect.reflectors.DynaBeanReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector@4cd8f137
> (class net.sf.morph.reflect.reflectors.SimpleInstantiatingReflector)
>
> Jan 26, 2007 4:07:18 PM net.sf.morph.reflect.reflectors.BaseReflector
> initialize
>
> INFO: Initializing reflector
> net.sf.morph.reflect.reflectors.ObjectReflector@4ca73137 (class
> net.sf.morph.reflect.reflectors.ObjectReflector)
>
> net.sf.morph.transform.TransformationException: Failed to copy
> property 'maker' of "Audi" (class java.lang.String) to property
> 'manufacturer' of
>
> at
> net.sf.morph.transform.copiers.PropertyNameMappingCopier.copyImpl(PropertyNameMappingCopier.java:143)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer.convertImpl(SimpleDelegatingTransformer.java:226)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:298)
>
> at
> net.sf.morph.util.TransformerUtils.transform(TransformerUtils.java:146)
>
> at
> net.sf.morph.transform.copiers.BasePropertyNameCopier.copyProperty(BasePropertyNameCopier.java:122)
>
> at
> net.sf.morph.transform.copiers.PropertyNameMappingCopier.copyImpl(PropertyNameMappingCopier.java:122)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer.copyImpl(SimpleDelegatingTransformer.java:201)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:429)
>
> at com.comcore.util.test.CopyUtil.copy(CopyUtil.java:109)
>
> at com.comcore.util.test.CopyTest.main(CopyTest.java:33)
>
> Exception in thread "main"
> net.sf.morph.transform.TransformationException: Failed to copy
> property 'maker' of "Audi" (class java.lang.String) to property
> 'manufacturer' of
>
> at
> net.sf.morph.transform.copiers.PropertyNameMappingCopier.copyImpl(PropertyNameMappingCopier.java:143)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer.convertImpl(SimpleDelegatingTransformer.java:226)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.convert(BaseTransformer.java:298)
>
> at
> net.sf.morph.util.TransformerUtils.transform(TransformerUtils.java:146)
>
> at
> net.sf.morph.transform.copiers.BasePropertyNameCopier.copyProperty(BasePropertyNameCopier.java:122)
>
> at
> net.sf.morph.transform.copiers.PropertyNameMappingCopier.copyImpl(PropertyNameMappingCopier.java:122)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer.copyImpl(SimpleDelegatingTransformer.java:201)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:429)
>
> at com.comcore.util.test.CopyUtil.copy(CopyUtil.java:109)
>
> at com.comcore.util.test.CopyTest.main(CopyTest.java:33)
>
>
>
>
>
> -----Original Message-----
> *From:* Matt Sgarlata [mailto:Mat...@wh...]
> *Sent:* Friday, January 26, 2007 5:15 PM
> *To:* blo...@no...
> *Cc:* mor...@li...
> *Subject:* Re: Some questions and a Map copy problem
>
>
>
> Hi Bruce, unfortunately the ZIP you sent me did not contain the full
> stack trace. The file is there, but its size is 0.
>
> Matt
>
> Bruce Lombardi wrote:
>
> Hi Matt,
>
>
>
> A while back I wrote to you and asked about making a copy where all
> the fields that were to be copied were not put in a map, but rather
> only the fields to be translated were supplied and the rest were
> copied without translation. I'm now starting to implement the approach
> you suggested for doing that in number 1 below, but I'm getting an
> error. The main error is shown below:
>
>
>
> net.sf.morph.transform.TransformationException: Failed to copy
> property 'maker' of "Audi" (class java.lang.String) to property
> 'manufacturer' of
>
> at
> net.sf.morph.transform.copiers.PropertyNameMappingCopier.copyImpl(PropertyNameMappingCopier.java:143)
>
>
>
> I'm trying to copy a DAO to a VO and translate Maker to Manufacture.
> Both properties exist and have manufacturers. I have attached a zip
> file with a complete error trace, both beans, the copyUtil class that
> is trying to do the copy and the CopyTest that is running the test.
> I'm using the morph-1.0.2.jar, which is something you put together for
> me to solve a different problem (the one copying maps I think).
>
>
>
> Any help you can give would be appreciated.
>
>
>
> -- Bruce
>
>
>
>
>
> -----Original Message-----
> *From:* Matt Sgarlata [mailto:Mat...@wh...]
> *Sent:* Friday, October 13, 2006 10:35 AM
> *To:* blo...@no... <mailto:blo...@no...>
> *Subject:* Re: Some questions and a Map copy problem
>
>
>
> Hi Bruce, here are some answers for you:
>
> 1) When using the PropertyNameMappingCopier you have to specify all
> field names that you would like copied. You could always
> programmatically retrieve the list of property names that are the same
> between both objects (for example, using Morph.getPropertyNames),
> construct the map, and then change the Map to account for the
> 2) You can use the PropertyNameMappingCopier for this purpose, because
> it only copies the fields that you explicitly mention in the Map. You
> can also use the PropertyNameMatchingCopier and set its fieldsToCopy
> property to only those fields you would like copied.
> 3) It's hard to tell what's going on in your stack trace, because the
> cause of the transformation error has been "lost" in your output. If
> you look at BaseTransformer:414 you have
>
> throw new TransformationException("Error copying source "
> + ObjectUtils.getObjectDescription(source) + "
> to destination "
> +
> ObjectUtils.getObjectDescription(destination), e);
>
> So the base exception is included in the TransformationException, and
> that is what usually will tell you what's going wrong. I'm not seeing
> the nested exception in the stack trace. Are you doing any type of
> exception catching in CopyUtil? That could be what is suppressing the
> full stack trace output.
>
> Matt
>
> Bruce Lombardi wrote:
>
> Matt,
>
>
>
>
>
> I have a few questions on Morph:
>
>
>
> 1. I know that if I need to translate from names on one bean to
> different names on another bean, I can supply a Map with the
> translations (e.g., in your example you translate "addresses" to
> "primaryAddress" by setting up a PropertyNameMappingCopier.) My
> question is: do you have to supply a Map with all the fields names to
> be copied, or only those that need to be translated to another name?
>
> 2. A related question. If I want to copy from one bean to
> another, but I only want to copy one or two fields, can I somehow
> supply the names of those fields and limit the copy to those? (maybe
> in a map like above, but with only the name of the fields to copy).
>
> 3. Finally, I am getting the following error when attempting to
> copy from one object to another. Each object has the following methods:
>
>
>
> public Map getLineItems();
>
> public void setLineItems(Map lineItems);
>
>
>
>
>
> SimpleDelegatingTransformer@11eb9b11 (class
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer)
>
> [10/12/06 18:36:28:258 EDT] 00000037 MyPropertyNam I Copying
> properties lineItemData and lineItems
>
> [10/12/06 18:36:28:274 EDT] 00000037 MapReflector W The
> net.sf.morph.reflect.reflectors.MapReflector@7327db10 (class
> net.sf.morph.reflect.reflectors.MapReflector) is set to EXTRACT_VALUES
> so com.comcore.product.order.LineItemVO@13f05b11 (class
> com.comcore.product.order.LineItemVO) will be added to the Map with a
> null key
>
> [10/12/06 18:36:28:274 EDT] 00000037 SystemOut O I am here
>
> [10/12/06 18:36:28:274 EDT] 00000037 SystemErr R
> net.sf.morph.transform.TransformationException: Error copying source
> {1=com.comcore.product.order.LineItemVO@13f05b11,
> 2=com.comcore.product.order.LineItemVO@10935b11,
> 3=com.comcore.product.order.LineItemVO@10c81b11} (class
> java.util.Collections$SynchronizedMap) to destination
> {1=com.comcore.product.order.LineItemVO@fdc1b37,
> 2=com.comcore.product.order.LineItemVO@6ef5b37,
> 3=com.comcore.product.order.LineItemVO@6241b37} (class
> java.util.Collections$SynchronizedMap)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:414)
>
> at
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer.copyImpl(SimpleDelegatingTransformer.java:201)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.util.TransformerUtils.transform(TransformerUtils.java:163)
>
> at
> net.sf.morph.transform.copiers.BasePropertyNameCopier.copyProperty(BasePropertyNameCopier.java:122)
>
> at
> net.sf.morph.transform.copiers.PropertyNameMatchingCopier.copyImpl(PropertyNameMatchingCopier.java:91)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.SimpleDelegatingTransformer.copyImpl(SimpleDelegatingTransformer.java:201)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:407)
>
> at
> net.sf.morph.transform.transformers.BaseTransformer.copy(BaseTransformer.java:429)
>
> at CopyUtil.copy(CopyUtil.java:64)
>
> at
> com.checkout.actions.ShoppingCartAction.processOutput(ShoppingCartAction.java:76)
>
>
>
>
>
>
>
>
>
>
>
|