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

        No work has yet been logged on this issue.

          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