Uploaded image for project: 'XBean'
  1. XBean
  2. XBEAN-119

ContextUtil$ReadOnlyBinding#isRelative() always returns false

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.3, 3.4, 3.4.1, 3.4.2
    • 3.12
    • naming
    • None

    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

        1. XBean_119.patch
          1 kB
          Jun Jie Cai

        Issue Links

          Activity

            People

              gnodet Guillaume Nodet
              haul@informatik.tu-darmstadt.de Christian Haul
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: