1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.backsource.adaptor.ftp;
21 import java.io.File;
22 /***
23 * Wrapper for Net FTPFile.
24 *
25 * FIXME: permissions not working.
26 *
27 * @author <a href="mailto:pra@tim.se">Peter Antman</a>
28 * @version $Revision: 1.1.1.1 $
29 */
30
31 public class NetFTPFile extends org.apache.commons.net.ftp.FTPFile implements FTPFile {
32 private String url;
33
34 public NetFTPFile (org.apache.commons.net.ftp.FTPFile f,String url){
35 super();
36 setRawListing(f.getRawListing());
37 setType( f.getType());
38 setName( f.getName());
39 setSize( f.getSize());
40 setHardLinkCount( f.getHardLinkCount() );
41 setGroup( f.getGroup() );
42 setUser( f.getUser() );
43 setLink( f.getLink() );
44 setTimestamp( f.getTimestamp() );
45 this.url = url;
46 }
47 public String getName() {
48
49 return new File( super.getName()).getName();
50 }
51
52 public String getPath() {
53 return createPath().getPath();
54 }
55
56 public String getParent(){
57 return createPath().getParent();
58 }
59
60 private File createPath() {
61 String name = getName();
62 if ( name== null || url == null) {
63 throw new IllegalStateException("name or url was null (name="+name+" url="+url);
64 }
65
66 if ( url.equals( super.getName() ) ) {
67 return new File( super.getName() );
68 }
69
70
71 return new File(url+java.io.File.separator+name);
72
73
74 }
75
76 }