Oh, and it would be good to know the versions of Velocity, Commons
Collections, and the JDK that you are using.

On 9/6/07, Nathan Bubna <[EMAIL PROTECTED]> wrote:
> I've looked through the relevant code, and i don't see Velocity
> stripping out backslashes explicitly anywhere.  It could be happening
> within Commons Collections' ExtendedProperties class (which is where
> the property is stored by the runtime instance and from which it is
> retrieved by the FileResourceLoader), though that would be surprising.
>  i haven't the time to look into it that right now.  anyway, if it's
> not happening there, then the only other possible culprit is java
> (either String.trim() or some other string method used within
> ExtendedProperties).  There's really not much in the path between
> Velocity.setProperty() and the log message printed by
> FileResourceLoader (where the backslash is missing).
>
> On 9/6/07, Peter Steele <[EMAIL PROTECTED]> wrote:
> > I'd be happy not to use backslashes, except that in my case the path that 
> > created problems was given to me by Java's getAbsolutePath() method. 
> > Because I'm running under Windows, it returns a Windows path, using 
> > backslashes, as it should. Velocity should in turn be able to handle such a 
> > path because it is in fact a valid Windows path.
> >
> > -----Original Message-----
> > From: Gonzalo Diethelm [mailto:[EMAIL PROTECTED]
> > Sent: Monday, September 03, 2007 5:49 AM
> > To: Velocity Users List
> > Subject: Re: UNC paths in Velocity
> >
> > Allow me to paste my very last reply to this list. Regardless of the '/'
> > vs '\' issue, Velocity does have a very quirky way of handling
> > backslashes... Best regards.
> >
> >
> >         I suggest you NEVER use the backslash character for path
> >         delimiters. As far as I know, C, C++, C# and Java all understand
> >         the forward slash as a path separator, with the benefits of
> >         portable code and not having to quote and re-quote the
> >         backslash. Therefore, try something like
> >         "//myserver/home/peter/myproj/template".
> >
> >
> > On Fri, 2007-08-31 at 07:50 -0700, Peter Steele wrote:
> >
> > > Velocity does not seem to properly support UNC paths under Windows. I am 
> > > running from a network drive on a Vista box and want to point Velocity to 
> > > a location relative to my current dir to find my template files. I have 
> > > code similar to the following:
> > >
> > >
> > >
> > >         String templateDir = new File("templates");
> > >
> > >         String absTemplateDir = templateDir.getAbsolutePath();
> > >
> > >         Velocity.setProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH, 
> > > absTemplateDir);
> > >
> > >         Velocity.init();
> > >
> > >         Template myTemplate = Velocity.getTemplate("my_template.vm");
> > >
> > >
> > >
> > > The getTemplate call fails saying that it cannot find the file. The init 
> > > call explains why: it generates a log message similar to this:
> > >
> > >
> > >
> > > INFO: FileResourceLoader : adding path 
> > > '\myserver\home\peter\myproj\template'
> > >
> > >
> > >
> > > The file path *should* be '\\myserver\home\peter\myproj\template', but 
> > > Velocity strips one of the leading backslashes. The original string is 
> > > correct that's returned by getAbsolutePath, with four backslashes 
> > > representing two real backslashes:
> > >
> > >
> > >
> > >       \\\\myserver\\home\\peter\\myproj\\template
> > >
> > >
> > >
> > > This is what I'd expect. This doesn't seem to satisfy Velocity though. If 
> > > I manually set the string to
> > >
> > >
> > >
> > >       \\\\\\\\\\myserver\\home\\peter\\myproj\\template
> > >
> > >
> > >
> > > this solves the problem. What I ended up doing though was this:
> > >
> > >
> > >
> > >         String absTemplateDir = 
> > > templateDir.getAbsolutePath().replace('\\', '/');
> > >
> > >
> > >
> > > This also works, so obviously the problem has something to do with 
> > > interpreting the leading backslash characters that represent the Windows 
> > > UNC path. This seems like a bug to me…
> > >
> > >
> > >
> > >
> > > No virus found in this outgoing message.
> > > Checked by AVG Free Edition.
> > > Version: 7.5.484 / Virus Database: 269.13.1/981 - Release Date: 8/31/2007 
> > > 6:13 AM
> > >
> >
> >
> > --
> > Gonzalo Diethelm
> > [EMAIL PROTECTED]
> >
> > No virus found in this incoming message.
> > Checked by AVG Free Edition.
> > Version: 7.5.484 / Virus Database: 269.13.3/986 - Release Date: 9/3/2007 
> > 9:31 AM
> >
> >
> > No virus found in this outgoing message.
> > Checked by AVG Free Edition.
> > Version: 7.5.485 / Virus Database: 269.13.7/992 - Release Date: 9/6/2007 
> > 8:36 AM
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to