Uploaded image for project: 'Velocity'
  1. Velocity
  2. VELOCITY-426

move of Node object broke compatibility with custom directives

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.5
    • 1.5
    • Engine
    • None

    Description

      From Malcolm Edgar:

      Hi Will & company,

      Regarding the cause of the problem.

      This is the code from Cayenne class ResultDirective (Cayenne 1.2 M6):

      import org.apache.velocity.runtime.parser.node.Node;

      protected Object getChild(InternalContextAdapter context, Node node, int
      i)
      throws MethodInvocationException

      { return (i >= 0 && i < node.jjtGetNumChildren()) ? node.jjtGetChild(i).value(context) : null; }

      When running with Velocity 1.5-dev this throwing the exception:

      Caused by: java.lang.NoSuchMethodError:
      org.apache.velocity.runtime.parser.node.Node.jjtGetChild
      (I)Lorg/apache/velocity/runtime/parser/node/Node;
      at org.objectstyle.cayenne.access.jdbc.ResultDirective.getChild(
      ResultDirective.java:190)

      As the Node.jttGetChild returns:

      org.apache.velocity.runtime.parser.Node

      rather than:

      org.apache.velocity.runtime.parser.node.Node

      This issue, plus another Velocity/Cayenne issue of a disappearing object
      reference in the velocity Context, is causing a lot of grief. We have been
      burning a lot of time over the last couple of weeks trying identify the
      latter issue, plus having to rollback Velocity changes maintain Cayenne
      compatability.

      Attachments

        Activity

          People

            henning Henning Schmiedehausen
            wglass William Glass-Husain
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: