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

Chained contexts do not expose static classes from the contexts being chained

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: 1.7.x
    • Fix Version/s: None
    • Component/s: Engine
    • Labels:
      None

      Description

      As a performance improvement, I decided to put all our static context objects into a context that would be the basis of all new contexts e.g.

      private static Context chainedContext;
      static

      { chainedContext = Z_getDefaultVelocityContext(); }

      private static Context Z_getDefaultVelocityContext() {
      Context context = new VelocityContext();
      context.put("TmpDir", Common.getTemporaryDirectory());
      context.put("math", new MathTool());
      context.put("number", new NumberTool());
      context.put("sort", new SortTool());
      context.put("LSQUARE_CHAR", '[');
      context.put("RSQUARE_CHAR", ']');
      context.put("LCURLY_CHAR", '

      {'); context.put("RCURLY_CHAR", '}

      ');
      context.put("DOT_CHAR", '.');
      context.put("NEWLINE", '\n');
      context.put("HASH", '#');
      context.put("DOLLAR", '$');
      context.put("DQUOTE", '"');
      context.put("Utils", Common.class);
      return context;
      }

      public static Context getVelocityContext(boolean runtimeMode)

      { Context context = new VelocityContext(chainedContext); context.put("Context", context); return context; }

      The problem is that in this configuration, $Utils is not available in the scripts.
      All the other instantiated objects are OK. Works fine of course if the static class is added to each outer context.

        Attachments

          Activity

            People

            • Assignee:
              claude Claude Brisson
              Reporter:
              sohara Steve O'Hara
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: