Re: Setting context value from template broken in 2.0

2017-12-06 Thread Claude Brisson

On 05/12/2017 23:46, Veit Guna wrote:


Hi.

I just gave 2.0 a testdrive and some issues occurred to me.

a) Until 1.7 I could use

#set($subject = "Hey Buddy")

To pass back context values to the caller (java code). I could simply
get it from the Map:

contextMap.get("subject");

Now this doesn't work anymore. The key is not contained in the context
after the template has been processed.
Is this by intention? Is there another way of passing back values from
the template?


It does work with this following code:

VelocityContext context = new VelocityContext();
template.merge(context, output);
/* template contains #set($suject = "hello there") */
System.out.println("subject = " + context.get("subject"));

Ok, I saw your second email. Well, anyhow, the behavior should still be 
the same.

Note that you can turn it off with:

template.provide.scope.control = true


b) org.springframework.ui.velocity.VelocityEngineFactoryBean doesn't
work anymore if configured like this:



or this (leaving it out completely results in the same):



Spring uses an old ResourceLoader for classpath scanning (can be fixed
by using velocitys own). Also it uses
the old *Chute logger class. Both resulting in appropriate exceptions
not finding matching classes.

As Spring announced to drop Velocity Support with 5, this is maybe not a
topic for you guys anymore.


On the contrary, they just don't want to maintain the Velocity 
integration themselves, which means we should host the few glue classes 
here. Adapting the org.springframework.ui.velocity pakage for 2.0 should 
be trivial, we're just waiting for someone to contribute it.


Regards,

  Claude


But it would have been nice to keep these classes for a while to not
break existing projects .

So let's forget about b). Does anyone has a clue about a)?

Cheers
Veit




-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org




On 05/12/2017 23:46, Veit Guna wrote:

Hi.

I just gave 2.0 a testdrive and some issues occurred to me.

a) Until 1.7 I could use

#set($subject = "Hey Buddy")

To pass back context values to the caller (java code). I could simply
get it from the Map:

contextMap.get("subject");

Now this doesn't work anymore. The key is not contained in the context
after the template has been processed.
Is this by intention? Is there another way of passing back values from
the template?

b) org.springframework.ui.velocity.VelocityEngineFactoryBean doesn't
work anymore if configured like this:



or this (leaving it out completely results in the same):



Spring uses an old ResourceLoader for classpath scanning (can be fixed
by using velocitys own). Also it uses
the old *Chute logger class. Both resulting in appropriate exceptions
not finding matching classes.

As Spring announced to drop Velocity Support with 5, this is maybe not a
topic for you guys anymore.
But it would have been nice to keep these classes for a while to not
break existing projects :).

So let's forget about b). Does anyone has a clue about a)?

Cheers
Veit




-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org






Re: Setting context value from template broken in 2.0

2017-12-05 Thread Claude Brisson

On 05/12/2017 23:46, Veit Guna wrote:


Hi.

I just gave 2.0 a testdrive and some issues occurred to me.

a) Until 1.7 I could use

#set($subject = "Hey Buddy")

To pass back context values to the caller (java code). I could simply
get it from the Map:

contextMap.get("subject");

Now this doesn't work anymore. The key is not contained in the context
after the template has been processed.
Is this by intention? Is there another way of passing back values from
the template?


It does work with this following code:

VelocityContext context = new VelocityContext();
template.merge(context, output);
/* template contains #set($suject = "hello there") */
System.out.println("subject = " + context.get("subject"));

Ok, I saw your second email. Well, anyhow, the behavior should still be 
the same.

Note that you can turn it off with:

template.provide.scope.control = true


b) org.springframework.ui.velocity.VelocityEngineFactoryBean doesn't
work anymore if configured like this:



or this (leaving it out completely results in the same):



Spring uses an old ResourceLoader for classpath scanning (can be fixed
by using velocitys own). Also it uses
the old *Chute logger class. Both resulting in appropriate exceptions
not finding matching classes.

As Spring announced to drop Velocity Support with 5, this is maybe not a
topic for you guys anymore.


On the contrary, they just don't want to maintain the Velocity 
integration themselves, which means we should host the few glue classes 
here. Adapting the org.springframework.ui.velocity pakage for 2.0 should 
be trivial, we're just waiting for someone to contribute it.


Regards,

  Claude


But it would have been nice to keep these classes for a while to not
break existing projects :).

So let's forget about b). Does anyone has a clue about a)?

Cheers
Veit




-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org





-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org



Re: Setting context value from template broken in 2.0

2017-12-05 Thread Veit Guna
Ok, It looks like it even can't find the template - but isn't
complaining. So something seems wrongly configured with the locator path.
Please ignore the #set issue described below for now. I'll have to check
the classpath loader in more detail...

Sorry for any inconvenience :).

Cheers
Veit

Am 05.12.2017 um 23:46 schrieb Veit Guna:
> Hi.
>
> I just gave 2.0 a testdrive and some issues occurred to me.
>
> a) Until 1.7 I could use
>
> #set($subject = "Hey Buddy")
>
> To pass back context values to the caller (java code). I could simply
> get it from the Map:
>
> contextMap.get("subject");
>
> Now this doesn't work anymore. The key is not contained in the context
> after the template has been processed.
> Is this by intention? Is there another way of passing back values from
> the template?
>
> b) org.springframework.ui.velocity.VelocityEngineFactoryBean doesn't
> work anymore if configured like this:
>
> 
>
> or this (leaving it out completely results in the same):
>
> 
>
> Spring uses an old ResourceLoader for classpath scanning (can be fixed
> by using velocitys own). Also it uses
> the old *Chute logger class. Both resulting in appropriate exceptions
> not finding matching classes.
>
> As Spring announced to drop Velocity Support with 5, this is maybe not a
> topic for you guys anymore.
> But it would have been nice to keep these classes for a while to not
> break existing projects :).
>
> So let's forget about b). Does anyone has a clue about a)?
>
> Cheers
> Veit
>
>
>
>
> -
> To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
> For additional commands, e-mail: user-h...@velocity.apache.org
>


-
To unsubscribe, e-mail: user-unsubscr...@velocity.apache.org
For additional commands, e-mail: user-h...@velocity.apache.org