Velocity Tools
  1. Velocity Tools
  2. VELTOOLS-7

Add the VelocityWriter to the context of the VelocityViewServlet

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.1
    • Fix Version/s: 1.2
    • Component/s: None
    • Labels:
      None
    • Environment:
      Operating System: All
      Platform: All

      Description

      The reason and purpose of this is for performance situations as stated by
      Nikolaj.Brinch.Joergensen@sdk.sas.com

      Following the recent thread discussion...

      http://www.mail-archive.com/velocity-user@jakarta.apache.org/msg07051.html
      http://www.mail-archive.com/velocity-user@jakarta.apache.org/msg07066.html

      <snip>
      BUT...this shows where an enhancement would be nice to have. If the
      statement in the mergeTemplate() method of:

      template.merge( context, vw);

      was replaced with:

      performMerge( template, context, vm );

      where performMerge was a protected method of VelocityServlet with the
      original statement as its default behavior, then you could easily
      override this method in a subclass of VelocityServlet to place the
      writer into the context. The VelocityServlet could still manage the
      private writerPool.
      <\snip>

      An alternative solution would be to allow the writerPool, encoding and other
      private methods be protected so that it would be easier to override the
      mergerTemplate method so this could be implemented by the developer. Maybe both
      should be done.

      bill

        Activity

        Bill Boland created issue -
        Jeff Turner made changes -
        Field Original Value New Value
        issue.field.bugzillaimportkey 9139 12314949
        Will Glass-Husain made changes -
        Component/s Tools [ 12310217 ]
        Component/s Source [ 12310214 ]
        Bugzilla Id 9139
        Assignee Velocity-Dev List [ velocity-dev@jakarta.apache.org ]
        Description The reason and purpose of this is for performance situations as stated by
        Nikolaj.Brinch.Joergensen@sdk.sas.com

        Following the recent thread discussion...

        http://www.mail-archive.com/velocity-user@jakarta.apache.org/msg07051.html
        http://www.mail-archive.com/velocity-user@jakarta.apache.org/msg07066.html


        <snip>
        BUT...this shows where an enhancement would be nice to have. If the
        statement in the mergeTemplate() method of:
         
                    template.merge( context, vw);

        was replaced with:

                        performMerge( template, context, vm );

        where performMerge was a protected method of VelocityServlet with the
        original statement as its default behavior, then you could easily
        override this method in a subclass of VelocityServlet to place the
        writer into the context. The VelocityServlet could still manage the
        private writerPool.
        <\snip>


        An alternative solution would be to allow the writerPool, encoding and other
        private methods be protected so that it would be easier to override the
        mergerTemplate method so this could be implemented by the developer. Maybe both
        should be done. :)

        bill
        The reason and purpose of this is for performance situations as stated by
        Nikolaj.Brinch.Joergensen@sdk.sas.com

        Following the recent thread discussion...

        http://www.mail-archive.com/velocity-user@jakarta.apache.org/msg07051.html
        http://www.mail-archive.com/velocity-user@jakarta.apache.org/msg07066.html


        <snip>
        BUT...this shows where an enhancement would be nice to have. If the
        statement in the mergeTemplate() method of:
         
                    template.merge( context, vw);

        was replaced with:

                        performMerge( template, context, vm );

        where performMerge was a protected method of VelocityServlet with the
        original statement as its default behavior, then you could easily
        override this method in a subclass of VelocityServlet to place the
        writer into the context. The VelocityServlet could still manage the
        private writerPool.
        <\snip>


        An alternative solution would be to allow the writerPool, encoding and other
        private methods be protected so that it would be easier to override the
        mergerTemplate method so this could be implemented by the developer. Maybe both
        should be done. :)

        bill
        Environment Operating System: All
        Platform: All
        Operating System: All
        Platform: All
        Nathan Bubna made changes -
        Assignee Nathan Bubna [ nbubna ]
        Affects Version/s 1.3-rc1 [ 12310248 ]
        Affects Version/s Tools-1.1 [ 12310326 ]
        Bugzilla Id 9139
        Fix Version/s Tools-1.2 [ 12310324 ]
        Tim Colson made changes -
        Fix Version/s Tools-1.2 [ 12310324 ]
        Project Velocity [ 12310104 ] VelocityTools [ 12310130 ]
        Component/s Tools [ 12310217 ]
        Affects Version/s Tools-1.1 [ 12310326 ]
        Component/s Unknown [ 12310320 ]
        Key VELOCITY-79 VELTOOLS-7
        Tim Colson made changes -
        Component/s Unknown [ 12310320 ]
        Tim Colson made changes -
        Affects Version/s 1.1 [ 12310347 ]
        Fix Version/s 1.2 [ 12310348 ]
        Bugzilla Id 9139
        Nathan Bubna made changes -
        Resolution Fixed [ 1 ]
        Status Open [ 1 ] Resolved [ 5 ]
        Nathan Bubna made changes -
        Status Resolved [ 5 ] Closed [ 6 ]

          People

          • Assignee:
            Nathan Bubna
            Reporter:
            Bill Boland
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development