List of usage examples for org.apache.commons.vfs2 FileSystemManager resolveFile
FileObject resolveFile(File baseFile, String name) throws FileSystemException;
From source file:cz.lbenda.dataman.db.DbStructureFactory.java
public static void loadDatabaseStructureFromXML(DatabaseStructureType databaseStructure, DbConfig dbConfig) { if (databaseStructure == null) { return;/*w ww.j a v a 2 s .c om*/ } if (!StringUtils.isBlank(databaseStructure.getSrc())) { new Thread(() -> { try { FileSystemManager fsManager = VFS.getManager(); FileObject fileObject = fsManager.resolveFile((FileObject) null, databaseStructure.getSrc()); InputStream is = fileObject.getContent().getInputStream(); loadDatabaseStructureFromXML(is, dbConfig); } catch (FileSystemException e) { LOG.error("Problem with getting FS manager or read data from file", e); ExceptionMessageFrmController .showException("Problem with getting FS manager or read data from file", e); } }).start(); } else { new Thread(() -> { dbConfig.getCatalogs().clear(); Map<Object, TableDesc> tableDescFromTableType = new HashMap<>(); Map<Object, ColumnDesc> columnDescFromColumnType = new HashMap<>(); databaseStructure.getCatalog().forEach(catalogType -> { CatalogDesc catalogDesc = new CatalogDesc(catalogType.getName()); dbConfig.getCatalogs().add(catalogDesc); catalogType.getSchema().forEach(schemaType -> { SchemaDesc schemaDesc = new SchemaDesc(catalogDesc, schemaType.getName()); catalogDesc.getSchemas().add(schemaDesc); schemaType.getTable().forEach(tableType -> { TableDesc tableDesc = new TableDesc(schemaDesc, tableType.getTableType(), tableType.getName()); tableDesc.setDbConfig(dbConfig); tableDescFromTableType.put(tableType, tableDesc); schemaDesc.getTables().add(tableDesc); tableType.getColumn().forEach(columnType -> { ColumnDesc columnDesc = new ColumnDesc(tableDesc, columnType.getName(), columnType.getLabel(), dataTypeTypeToColumnType(columnType.getDataType()), columnType.getSize(), columnType.getScale(), columnType.isNullable(), columnType.isAutoincrement(), columnType.isGenerated(), columnType.getDefaultValue()); columnDescFromColumnType.put(columnType, columnDesc); columnDesc.setPosition(tableDesc.getColumns().size() + 1); columnDesc.setPK(columnType.isIsPK()); tableDesc.getColumns().add(columnDesc); }); }); }); }); databaseStructure.getCatalog() .forEach(catalogType -> catalogType.getSchema().forEach(schemaType -> schemaType.getTable() .forEach(tableType -> tableType.getForeignKey().forEach(foreignKeyType -> { ForeignKey foreignKey = new ForeignKey(foreignKeyType.getName(), tableDescFromTableType.get(foreignKeyType.getMasterTable()), columnDescFromColumnType .get(foreignKeyType.getMasterColumn().get(0).getColumn()), tableDescFromTableType.get(tableType), columnDescFromColumnType .get(foreignKeyType.getSlaveColumn().get(0).getColumn()), foreignKeyType.getUpdateRule(), foreignKeyType.getDeleteRule()); foreignKey.getMasterTable().getForeignKeys().add(foreignKey); foreignKey.getSlaveTable().getForeignKeys().add(foreignKey); })))); }).run(); } }
From source file:com.sonicle.webtop.vfs.sfs.StoreFileSystem.java
private void initRootFileObject() throws FileSystemException { configureOptions();//from ww w. j a v a2s . c o m FileSystemManager fsm = VFS.getManager(); FileObject fo = fsm.resolveFile(uri.toString(), fso); if (autoCreateRoot && !fo.exists()) fo.createFolder(); if (fo.exists()) rootFo = fo; }
From source file:mondrian.spi.impl.ApacheVfs2VirtualFileHandler.java
public InputStream readVirtualFile(String url) throws FileSystemException { // Treat catalogUrl as an Apache VFS (Virtual File System) URL. // VFS handles all of the usual protocols (http:, file:) // and then some. FileSystemManager fsManager = VFS.getManager(); if (fsManager == null) { throw Util.newError("Cannot get virtual file system manager"); }/* w w w .ja va2s . c o m*/ File userDir = new File("").getAbsoluteFile(); FileObject file = fsManager.resolveFile(userDir, url); FileContent fileContent = null; try { if (!file.isReadable()) { throw Util.newError("Virtual file is not readable: " + url); } fileContent = file.getContent(); } finally { file.close(); } if (fileContent == null) { throw Util.newError("Cannot get virtual file content: " + url); } return fileContent.getInputStream(); }
From source file:cz.lbenda.dataman.rc.DatamanHeadless.java
private @Nonnull List<FileObject> files(CommandLine cmd, String singleFileOption, String multipleFileOption) throws FileSystemException { if (!cmd.hasOption(singleFileOption) && !cmd.hasOption(multipleFileOption)) { return Collections.emptyList(); }// ww w .j a v a 2 s. c om String script = cmd.getOptionValue(singleFileOption); FileSystemManager fsm = VFS.getManager(); if (script != null) { return Collections.singletonList(fsm.resolveFile((FileObject) null, script)); } String scripts = cmd.getOptionValue(multipleFileOption); String[] scrs = scripts.split(","); List<FileObject> result = new ArrayList<>(); for (String scr : scrs) { result.add(fsm.resolveFile((FileObject) null, scr)); } return result; }
From source file:de.unioninvestment.portal.explorer.view.vfs.VFSMainView.java
public void scanDirectory(FileSystemManager fsManager, FileSystemOptions opts, String ftpconn) throws IOException { try {/*from w w w . j a v a2 s .c om*/ FileObject fileObject = fsManager.resolveFile(ftpconn, opts); FileObject[] files = fileObject.findFiles(new FileTypeSelector(FileType.FOLDER)); HashMap<String, String> parentMap = new HashMap<String, String>(); for (FileObject fo : files) { String objectName = fo.getName().toString(); tree.addItem(objectName); tree.setItemIcon(objectName, FOLDER); if (fo.getParent() != null) { String parentName = fo.getParent().getName().toString(); parentMap.put(objectName, parentName); } else tree.setItemCaption(objectName, "/"); } // set parents logger.log(Level.INFO, "parentMap " + parentMap.size()); if (parentMap.size() > 0) { Iterator<Map.Entry<String, String>> it = parentMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, String> pairs = it.next(); tree.setParent(pairs.getKey(), pairs.getValue()); String caption = pairs.getKey().toString().substring(pairs.getValue().toString().length()); tree.setItemCaption(pairs.getKey(), removeSlash(caption)); it.remove(); } } } catch (FileSystemException e) { e.printStackTrace(); } }
From source file:com.ewcms.publication.deploy.provider.FtpsDeployOperator.java
@Override protected FileObject getRootFileObject(FileSystemOptions opts, BuilderBase builder, FileSystemManager manager) throws FileSystemException { FtpsFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, false); String port = StringUtils.isBlank(builder.getPort()) ? DEFAULT_PORT : builder.getPort(); StringBuilder connBuilder = new StringBuilder(); connBuilder.append("ftps://"); connBuilder.append(builder.getHostname()).append(":").append(port); connBuilder.append(builder.getPath()); String conn = connBuilder.toString(); logger.debug("uri is {}", conn); return manager.resolveFile(conn, opts); }
From source file:com.ewcms.publication.deploy.provider.FtpDeployOperator.java
@Override protected FileObject getRootFileObject(FileSystemOptions opts, BuilderBase builder, FileSystemManager manager) throws FileSystemException { FtpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, false); String port = StringUtils.isBlank(builder.getPort()) ? DEFAULT_PORT : builder.getPort(); StringBuilder connBuilder = new StringBuilder(); connBuilder.append("ftp://"); connBuilder.append(builder.getHostname()).append(":").append(port); connBuilder.append(builder.getPath()); String conn = connBuilder.toString(); logger.debug("uri is {}", conn); return manager.resolveFile(conn, opts); }
From source file:net.sf.jabb.web.action.VfsTreeAction.java
/** * AJAX tree functions/*from ww w .j av a 2 s .c om*/ */ public String execute() { normalizeTreeRequest(); JsTreeResult result = new JsTreeResult(); final AllFileSelector ALL_FILES = new AllFileSelector(); FileSystemManager fsManager = null; FileObject rootFile = null; FileObject file = null; FileObject referenceFile = null; try { fsManager = VfsUtility.getManager(); rootFile = fsManager.resolveFile(rootPath, fsOptions); if (JsTreeRequest.OP_GET_CHILDREN.equalsIgnoreCase(requestData.getOperation())) { String parentPath = requestData.getId(); List<JsTreeNodeData> nodes = null; try { nodes = getChildNodes(rootFile, parentPath); if (requestData.isRoot() && rootNodeName != null) { // add root node JsTreeNodeData rootNode = new JsTreeNodeData(); rootNode.setData(rootNodeName); Map<String, Object> attr = new HashMap<String, Object>(); rootNode.setAttr(attr); attr.put("id", "."); attr.put("rel", "root"); attr.put("fileType", FileType.FOLDER.toString()); rootNode.setChildren(nodes); rootNode.setState(JsTreeNodeData.STATE_OPEN); nodes = new LinkedList<JsTreeNodeData>(); nodes.add(rootNode); } } catch (Exception e) { log.error("Cannot get child nodes for: " + parentPath, e); nodes = new LinkedList<JsTreeNodeData>(); } responseData = nodes; } else if (JsTreeRequest.OP_REMOVE_NODE.equalsIgnoreCase(requestData.getOperation())) { String path = requestData.getId(); try { file = rootFile.resolveFile(path, NameScope.DESCENDENT); boolean wasDeleted = false; if (file.getType() == FileType.FILE) { wasDeleted = file.delete(); } else { wasDeleted = file.delete(ALL_FILES) > 0; } result.setStatus(wasDeleted); } catch (Exception e) { result.setStatus(false); log.error("Cannot delete: " + path, e); } responseData = result; } else if (JsTreeRequest.OP_CREATE_NODE.equalsIgnoreCase(requestData.getOperation())) { String parentPath = requestData.getReferenceId(); String name = requestData.getTitle(); try { referenceFile = rootFile.resolveFile(parentPath, NameScope.DESCENDENT_OR_SELF); file = referenceFile.resolveFile(name, NameScope.CHILD); file.createFolder(); result.setStatus(true); result.setId(rootFile.getName().getRelativeName(file.getName())); } catch (Exception e) { result.setStatus(false); log.error("Cannot create folder '" + name + "' under '" + parentPath + "'", e); } responseData = result; } else if (JsTreeRequest.OP_RENAME_NODE.equalsIgnoreCase(requestData.getOperation())) { String path = requestData.getId(); String name = requestData.getTitle(); try { referenceFile = rootFile.resolveFile(path, NameScope.DESCENDENT); file = referenceFile.getParent().resolveFile(name, NameScope.CHILD); referenceFile.moveTo(file); result.setStatus(true); } catch (Exception e) { result.setStatus(false); log.error("Cannot rename '" + path + "' to '" + name + "'", e); } responseData = result; } else if (JsTreeRequest.OP_MOVE_NODE.equalsIgnoreCase(requestData.getOperation())) { String newParentPath = requestData.getReferenceId(); String originalPath = requestData.getId(); try { referenceFile = rootFile.resolveFile(originalPath, NameScope.DESCENDENT); file = rootFile.resolveFile(newParentPath, NameScope.DESCENDENT_OR_SELF) .resolveFile(referenceFile.getName().getBaseName(), NameScope.CHILD); if (requestData.isCopy()) { file.copyFrom(referenceFile, ALL_FILES); } else { referenceFile.moveTo(file); } result.setStatus(true); } catch (Exception e) { result.setStatus(false); log.error("Cannot move '" + originalPath + "' to '" + newParentPath + "'", e); } responseData = result; } } catch (FileSystemException e) { log.error("Cannot perform file operation.", e); } finally { VfsUtility.close(fsManager, file, referenceFile, rootFile); } return SUCCESS; }
From source file:com.ewcms.publication.deploy.provider.SftpDeployOperator.java
@Override protected FileObject getRootFileObject(FileSystemOptions opts, BuilderBase builder, FileSystemManager manager) throws FileSystemException { SftpFileSystemConfigBuilder.getInstance().setUserDirIsRoot(opts, false); SftpFileSystemConfigBuilder.getInstance().setStrictHostKeyChecking(opts, "no"); String port = StringUtils.isBlank(builder.getPort()) ? DEFAULT_PORT : builder.getPort(); StringBuilder connBuilder = new StringBuilder(); connBuilder.append("sftp://"); connBuilder.append(builder.getHostname()).append(":").append(port); connBuilder.append(builder.getPath()); String conn = connBuilder.toString(); logger.debug("uri is {}", conn); return manager.resolveFile(conn, opts); }
From source file:de.unioninvestment.portal.explorer.view.vfs.TableView.java
private void fillTableData(String selectedDir, Table table, FileSystemManager fsManager, FileSystemOptions opts, String filterVal) throws IOException { table.removeAllItems();/*from ww w . j a v a 2 s. c o m*/ FileObject fileObject = fsManager.resolveFile(selectedDir, opts); FileObject[] files = fileObject.getChildren(); for (FileObject file : files) { if (filterVal == null) { addTableItem(table, file); } else { String regex = filterVal.replace("?", ".?").replace("*", ".*?"); String name = getDisplayPath(file.getName().toString()); if (name.matches(regex)) addTableItem(table, file); } } }