Description
When iterating through the JNDI tree in Geronimo with the following code
NamingEnumeration<Binding> namingEnum = context.listBindings(""); while (namingEnum.hasMore()) { Binding nameClassPair = namingEnum.nextElement(); if (nameClassPair.isRelative()) {
the isRelative() test always fails. The object returned from the nextElement() call is a ContextUtil$ReadOnlyBinding which has a trivial implementation of the isRelative() method:
public boolean isRelative() { return false; }
Since the ReadOnlyBinding inherits from the NameClassPair it has a instance var named isRelative and inherits a method isRelative() which – at least in my case – has the correct default value of "true". So, the method could be simply deleted so that the original method is used.
However, I haven't dug deep enough into the code to assess if the property is initialized correctly at any time, i.e. for the top level JNDI entries one might assume that those return "false" (OTOH would that really be necessary? In what situation should the NameClassPair return "false" for isRelative ?)
Relates to http://issues.apache.org/jira/browse/GERONIMO-4477
Attachments
Attachments
Issue Links
- is depended upon by
-
GERONIMO-4477 JNDI NameClassPair always returns isRelative() = false
- Open