commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Fortner <phidia...@gmail.com>
Subject Re: [vfs] Using VFS for FTP Access in Groovy
Date Wed, 23 Jan 2013 19:57:46 GMT
When I added "println mgr.getClass().getPackage();" to my script I got this
result "package org.apache.commons.vfs2.impl, Commons VFS Core, version 2.0"

It should be enough to verify which version was being loaded.

Cheers,

Mark



On Wed, Jan 23, 2013 at 11:46 AM, Gary Gregory <garydgregory@gmail.com>wrote:

> On Wed, Jan 23, 2013 at 2:29 PM, Mark Fortner <phidias51@gmail.com> wrote:
>
> > Gary,
> > That's interesting.  I didn't know you could get package version
> > information.  Cool.
> >
>
> Don't get too fired up ;) that info has to be in the jar's manifest in the
> first place for the API to get it.
>
> Gary
>
>
> >
> > Cheers,
> >
> > Mark
> >
> >
> >
> > On Wed, Jan 23, 2013 at 11:23 AM, Gary Gregory <garydgregory@gmail.com
> > >wrote:
> >
> > > On Wed, Jan 23, 2013 at 2:11 PM, Mark Fortner <phidias51@gmail.com>
> > wrote:
> > >
> > > > Hi Sven,
> > > > Do you have a runnable test for this?  I don't have access to an FTP
> > > server
> > > > at the moment so I can't really test this, but I ran this code
> snippet
> > > > against the local file system and it seemed to work properly:
> > > >
> > > > @GrabConfig(systemClassLoader=true)
> > > > @Grapes([
> > > >     @Grab(group='org.apache.commons', module='commons-vfs2',
> > > > version='2.0'),
> > > > ])
> > > > import org.apache.commons.vfs2.FileObject;
> > > > import org.apache.commons.vfs2.FileSystemException;
> > > > import org.apache.commons.vfs2.VFS;
> > > > import org.apache.commons.vfs2.FileSystemManager;
> > > >
> > > > FileSystemManager mgr = VFS.getManager();
> > > > FileObject file = mgr.resolveFile(System.getProperty("user.home"));
> > > > println file;
> > > > println file.getType();
> > > > file.getChildren().each{
> > > >     println it
> > > > }
> > > >
> > > > One thing that occurred to me is that the grails classloader might be
> > > > loading an different version of the VFS library than your groovy
> > script.
> > > >
> > > > Gary, is there a way to output the VFS configuration (VFS version,
> > > > available FileSystems, and FileSystem versions)?
> > > >
> > >
> > > You can get the package information for any Class object and query and
> > > print that: aClass.getPackage(), the Package has a bunch of APIs.
> > >
> > > Gary
> > >
> > >
> > > >
> > > > Cheers,
> > > >
> > > > Mark
> > > >
> > > >
> > > >
> > > > On Wed, Jan 23, 2013 at 6:00 AM, Sven Johansson <
> > > johansson.sven@gmail.com
> > > > >wrote:
> > > >
> > > > > Hey, list.
> > > > >
> > > > > I'm porting a Java app to Groovy (from Play 2.0 to Grails, in
> fact).
> > > > >
> > > > > This app has a page that lists incoming file on an FTP, and I've
> been
> > > > using
> > > > > vfs2 for this - works like a charm.
> > > > >
> > > > > Turns out, that when I use the exact same code in Groovy, the
> > > FileObject
> > > > > representing the root ftp folder is of type 'file' instead of
> folder
> > > (and
> > > > > an exception
> > > > > is thrown):
> > > > >
> > > > > FileObject incomingFolder = VFS.getManager().resolveFile("
> > > > > ftp://myuser:mypwd@ftp.mydomain.com/");
> > > > > incomingFolder.getChildren();
> > > > >
> > > > > I get the same behavior from a standalone Groovy-script as I get
> > > running
> > > > in
> > > > > Grails.
> > > > >
> > > > > If I however move down to vfs 1.0, the FileObject return is a
> 'file'
> > > when
> > > > > running the
> > > > > GroovyScript, but remains 'folder' in Grails.
> > > > >
> > > > > I also tried listing the contents of a subfolder - same results.
> > > > >
> > > > > I realize this might be considered a Groovy-specific question and
> > might
> > > > be
> > > > > better
> > > > > asked on the grails-list or stackoverflow, but I thought I'd give
> it
> > a
> > > > try
> > > > > here first.
> > > > >
> > > > > Any input on what kind of nastiness could be involved in causing
> this
> > > > would
> > > > > be
> > > > > greatly appreciated - suggestions on how to resolve it even more
> so.
> > > > >
> > > > > Cheers/Sven
> > > > >
> > > >
> > >
> > >
> > >
> > > --
> > > E-Mail: garydgregory@gmail.com | ggregory@apache.org
> > > JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
> > > Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
> > > Blog: http://garygregory.wordpress.com
> > > Home: http://garygregory.com/
> > > Tweet! http://twitter.com/GaryGregory
> > >
> >
>
>
>
> --
> E-Mail: garydgregory@gmail.com | ggregory@apache.org
> JUnit in Action, 2nd Ed: <http://goog_1249600977>http://bit.ly/ECvg0
> Spring Batch in Action: <http://s.apache.org/HOq>http://bit.ly/bqpbCK
> Blog: http://garygregory.wordpress.com
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message