]> git.argeo.org Git - gpl/argeo-slc.git/blob - cms/org.argeo.cms.integration/src/org/argeo/maintenance/backup/vfs/BackupFileSystemManager.java
Integrate various CMS extensions from Argeo Commons.
[gpl/argeo-slc.git] / cms / org.argeo.cms.integration / src / org / argeo / maintenance / backup / vfs / BackupFileSystemManager.java
1 package org.argeo.maintenance.backup.vfs;
2
3 import org.apache.commons.vfs2.FileSystemException;
4 import org.apache.commons.vfs2.impl.DefaultFileSystemManager;
5 import org.apache.commons.vfs2.provider.bzip2.Bzip2FileProvider;
6 import org.apache.commons.vfs2.provider.ftp.FtpFileProvider;
7 import org.apache.commons.vfs2.provider.gzip.GzipFileProvider;
8 import org.apache.commons.vfs2.provider.local.DefaultLocalFileProvider;
9 import org.apache.commons.vfs2.provider.ram.RamFileProvider;
10 import org.apache.commons.vfs2.provider.sftp.SftpFileProvider;
11 import org.apache.commons.vfs2.provider.url.UrlFileProvider;
12 import org.argeo.maintenance.MaintenanceException;
13
14 /**
15 * Programatically configured VFS file system manager which can be declared as a
16 * bean and associated with a life cycle (methods
17 * {@link DefaultFileSystemManager#init()} and
18 * {@link DefaultFileSystemManager#close()}). Supports bz2, file, ram, gzip,
19 * ftp, sftp
20 */
21 public class BackupFileSystemManager extends DefaultFileSystemManager {
22
23 public BackupFileSystemManager() {
24 super();
25 try {
26 addProvider("file", new DefaultLocalFileProvider());
27 addProvider("bz2", new Bzip2FileProvider());
28 addProvider("ftp", new FtpFileProvider());
29 addProvider("sftp", new SftpFileProvider());
30 addProvider("gzip", new GzipFileProvider());
31 addProvider("ram", new RamFileProvider());
32 setDefaultProvider(new UrlFileProvider());
33 } catch (FileSystemException e) {
34 throw new MaintenanceException("Cannot configure backup file provider", e);
35 }
36 }
37 }