[ 
https://issues.apache.org/jira/browse/VELOCITY-726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nathan Bubna resolved VELOCITY-726.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 1.6

We already have a StringResourceLoader:  

org.apache.velocity.runtime.resource.loader. StringResourceLoader

> Add StringResourceLoader
> ------------------------
>
>                 Key: VELOCITY-726
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-726
>             Project: Velocity
>          Issue Type: Improvement
>          Components: Engine
>    Affects Versions: 1.6.2
>            Reporter: Wim Deblauwe
>             Fix For: 1.6
>
>
> I would like to see an implementation of ResourceLoader that where you can 
> pass a literal String, and that is the template. Something like this:
> public class StringResourceLoader extends ResourceLoader
> {
>       @Override
>       public void init( ExtendedProperties extendedProperties )
>       {
>       }
>       @Override
>       public InputStream getResourceStream( String s ) throws 
> ResourceNotFoundException
>       {
>               return new ByteArrayInputStream( s.getBytes() );
>       }
>       @Override
>       public boolean isSourceModified( Resource resource )
>       {
>               return true;
>       }
>       @Override
>       public long getLastModified( Resource resource )
>       {
>               return 0;
>       }
> }
> I tested this and it works, but I am assuming this could be handy for others 
> as well.
> On a side note. Why do you have all this ResourceLoaders and their 
> configuration? Would it not be easier to just create a getTemplate( 
> InputStream ) method, then people can get the inputstream from whereever they 
> want? I had now go through quite some hoops with classloading because I need 
> to use Velocity from a plugin into another system. (For those also 
> struggeling with this, you need to call:
> Thread.currentThread().setContextClassLoader( getClass().getClassLoader() );
> before you create your VelocityContext, and use the ClasspathResourceLoader)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to