KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > servicemix > components > vfs > FileObjectEditor


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17 package org.apache.servicemix.components.vfs;
18
19 import org.apache.commons.vfs.FileObject;
20 import org.apache.commons.vfs.FileSystemException;
21 import org.apache.commons.vfs.FileSystemManager;
22 import org.apache.commons.vfs.VFS;
23
24 import javax.jbi.JBIException;
25
26 /**
27  * A bean editor to make it easier to create new file system objects using VFS
28  *
29  * @version $Revision: 426415 $
30  */

31 public class FileObjectEditor {
32     private String JavaDoc path;
33     private FileSystemManager fileSystemManager;
34
35     public String JavaDoc getPath() {
36         return path;
37     }
38
39     public void setPath(String JavaDoc path) {
40         this.path = path;
41     }
42
43     public FileSystemManager getFileSystemManager() {
44         return fileSystemManager;
45     }
46
47     public void setFileSystemManager(FileSystemManager fileSystemManager) {
48         this.fileSystemManager = fileSystemManager;
49     }
50
51     public FileObject getFileObject() throws JBIException {
52         try {
53             if (fileSystemManager == null) {
54                 fileSystemManager = VFS.getManager();
55             }
56             if (path == null) {
57                 throw new IllegalArgumentException JavaDoc("You must specify a path property");
58             }
59             FileObject answer = fileSystemManager.resolveFile(path);
60             if (answer == null) {
61                 throw new JBIException("Could not resolve file: " + path);
62             }
63             try {
64                 answer.createFolder();
65             }
66             catch (FileSystemException e) {
67                 throw new JBIException("Failed to create folder: " + e, e);
68             }
69             return answer;
70         }
71         catch (FileSystemException e) {
72             throw new JBIException("Failed to initialize file system manager: " + e, e);
73         }
74     }
75 }
76
Popular Tags