On Feb 28, 2007, at 10:58 AM, Mohammad Nour El-Din wrote:

On 2/28/07, Dain Sundstrom <[EMAIL PROTECTED]> wrote:

On Feb 28, 2007, at 12:38 AM, David Blevins wrote:

> First, it seems like a bug in xbean-reflect's File property editor
> (haven't looked too hard yet).  We're supplying the string "C:/
> temp" and it's giving back "/private/tmp/openejb3/container/ openejb-
> core/C:/temp".  So clearly it's calling new File
> (string).getAbsoulteFile() and returning that.  Something to look
> into fixing as I don't think it's xbean reflect's place to be
> resolving relative paths.

I wrote that code, but I think you are correct.  If the receiving
bean wants an absolute path, it can make the calls itself.

> Second is a completely trival issues.  Seems the calling of equals
> on two properties instances isn't kosher.  It complains "expected:<
> {key2=value2, key1=value1}> but was:<{key1=value1
> key2=value2}>", so obviously they are equal and something else
> going wrong.

Are you sure that they the values are both plain old java.lang.Strings?


The value of the *expected* Properties object is provided to the
PropertyEditors class as a plain old java.lang.String coded into the test case itself "key1=value1\r\nkey2=value2", but the value provided to the PropertyEditors class to create the *actual* Properties object is parsed from the ejb-jar.xml file and I access it from the env-entry references
created with the EJB info object.

Are you sure that the property editor is getting exactally "key1=value1\r\nkey2=value2"? My guess is the value is changed to "key1=value1 key2=value2" by this declaration in the org.apache.openejb.jee.package-info.java file:

@javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter (value=javax.xml.bind.annotation.adapters.CollapsedStringAdapter.class,t ype=String.class)

If my, guess is correct, it can be fixed by overriding the @XmlJavaTypeAdapter annotation on the org.apache.openejb.jee.EnvEntry.envEntryValue field. I'm not sure if you can use the annotation to set the adapter back to null, and unfortunately, there doesn't seem to be a do nothing adapter, so you may have to write one.

-dain

Reply via email to