Velocity
  1. Velocity
  2. VELOCITY-426

move of Node object broke compatibility with custom directives

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5
    • Fix Version/s: 1.5
    • Component/s: Engine
    • Labels:
      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.

        Activity

          People

          • Assignee:
            Henning Schmiedehausen
            Reporter:
            Will Glass-Husain
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development