List of usage examples for org.apache.commons.vfs2 FileObject getContent
FileContent getContent() throws FileSystemException;
From source file:de.innovationgate.wgpublisher.design.fs.FileSystemDesignProvider.java
public static void createDowngradeFiles(FileSystemDesignProvider originalDesignProvider, OverlayData data, FileObject targetFolder, String targetEncoding, Logger log) throws Exception { for (Map.Entry<String, ResourceData> resourceEntry : data.getOverlayResources().entrySet()) { boolean changed = false; FileObject targetFile = targetFolder.resolveFile(resourceEntry.getKey()); if (targetFile.exists()) { InputStream in = new BufferedInputStream(targetFile.getContent().getInputStream(), 4096); MD5HashingOutputStream out = new MD5HashingOutputStream(new NullOutputStream()); resourceInToOut(in, targetEncoding, out, targetEncoding); if (!out.getHash().equals(resourceEntry.getValue().getMd5Hash())) { changed = true;/*w w w . ja va2s.c o m*/ } } else { changed = true; } if (changed == true) { String basePath = getOverlayResourcePathInBaseDesign(resourceEntry.getKey()); FileObject sourceFile = originalDesignProvider.getBaseFolder().resolveFile(basePath); if (sourceFile.exists()) { FileObject conflictFile = createConflictFile(targetFile); log.info("Writing downgrade file of modified overlay resource " + resourceEntry.getKey() + " to conflict file: " + targetFolder.getName().getRelativeName(conflictFile.getName())); InputStream in = new BufferedInputStream(sourceFile.getContent().getInputStream(), 4096); OutputStream out = new BufferedOutputStream(conflictFile.getContent().getOutputStream(), 4096); resourceInToOut(in, originalDesignProvider.getFileEncoding(), out, targetEncoding); } else { log.warn("Overlay resource '" + resourceEntry.getKey() + "' does not exist any more in the current base design version."); } } } }
From source file:de.innovationgate.wgpublisher.design.sync.FileContainerDeployment.java
public boolean isUpdated() throws InstantiationException, IllegalAccessException, IOException, WGDesignSyncException { FileObject metadataFile = getMetadataFile(); if (metadataFile.exists() && metadataFile.getContent().getLastModifiedTime() != _timestampOfMetadataFile) { return true; }//ww w. j ava 2 s . c o m List<FileObject> files = getFileContainerFiles(); Collections.sort(files, new FileNameComparator()); FileObject file; List<String> existingFiles = new ArrayList<String>(); // Check for new and updated files for (int i = 0; i < files.size(); i++) { file = (FileObject) files.get(i); if (isExcludedFileContainerFile(file)) { continue; } ContainerFile containerFile = getContainerFile(file); if (containerFile == null) { return true; } else if (existingFiles.contains(containerFile.getName().toLowerCase())) { // Possible on case-sensitive file systems. A file with same name and // different case has already been processed. Ignore this duplicate. issueWarning(file.getName().getPathDecoded()); continue; } else { existingFiles.add(containerFile.getName().toLowerCase()); if (containerFile.getTimestamp() != file.getContent().getLastModifiedTime()) { return true; } } } // Check for deleted files List<String> containerFiles = new ArrayList<String>(_files.keySet()); containerFiles.removeAll(existingFiles); if (containerFiles.size() > 0) { return true; } else { return false; } }
From source file:fulcrum.xml.Parser.java
/** * Only provides parsing functions to the "fulcrum.xml" package. * //from w ww . ja va2s . co m * @see Document * * @param fileLocation * @param document * @throws ParseException */ protected void parse(String fileLocation, Document document) throws ParseException { FileObject fileObj = null; try { fileObj = fsManager.resolveFile(fileLocation); if (fileObj != null && fileObj.exists() && fileObj.isReadable()) { FileContent content = fileObj.getContent(); InputStream is = content.getInputStream(); int size = is.available(); LOGGER.debug("Total File Size: " + size + " bytes"); byte[] buffer = new byte[size]; is.read(buffer, 0, size); LOGGER.debug("Start parsing"); parse(buffer, document); LOGGER.debug("Finished paring"); buffer = null; content.close(); fileObj.close(); } } catch (Exception e) { throw new ParseException(e); } }
From source file:com.msopentech.odatajclient.testservice.utils.FSManager.java
public FileObject putInMemory(final InputStream is, final String path) throws IOException { final FileObject memObject = fsManager.resolveFile(MEM_PREFIX + path); if (memObject.exists()) { memObject.delete();/*from w w w .j a v a 2 s .c o m*/ } // create in-memory file memObject.createFile(); // read in-memory content final OutputStream os = memObject.getContent().getOutputStream(); IOUtils.copy(is, os); IOUtils.closeQuietly(is); IOUtils.closeQuietly(os); return memObject; }
From source file:de.innovationgate.wgpublisher.design.sync.DesignDeployment.java
@Override protected void createMetadataFile(FileObject metadataFile) throws InstantiationException, IllegalAccessException, UnsupportedEncodingException, FileSystemException, IOException { super.createMetadataFile(metadataFile); _timestampOfMetadataFile = metadataFile.getContent().getLastModifiedTime(); }
From source file:de.blizzy.backup.vfs.RemoteFileOrFolder.java
private FileContent getFileContent() throws IOException { if (fileContent == null) { final FileObject fileObject = getFileObject(); IAction<FileContent> action = new IAction<FileContent>() { @Override/*from www . j a v a 2s . c o m*/ public FileContent run() throws IOException { return fileObject.getContent(); } @Override public boolean canRetry(IOException e) { return location.canRetryAction(e); } }; fileContent = new ActionRunner<>(action, RemoteLocation.MAX_TRIES, location).run(); } return fileContent; }
From source file:de.innovationgate.wgpublisher.design.sync.FileContainerDeployment.java
public void resetUpdateInformation() throws InstantiationException, IllegalAccessException, IOException, WGDesignSyncException { FileObject folder = getCodeFile(); Map files = new HashMap(); FileObject[] folderFiles = folder.getChildren(); FileObject folderFile;//from w ww . j a v a2 s. com for (int i = 0; i < folderFiles.length; i++) { folderFile = folderFiles[i]; if (isExcludedFileContainerFile(folderFile)) { continue; } ContainerFile containerFile = new ContainerFile(folderFile); files.put(containerFile.getName(), containerFile); } _files = files; FileObject metadataFile = getMetadataFile(); if (metadataFile.exists()) { _timestampOfMetadataFile = metadataFile.getContent().getLastModifiedTime(); } }
From source file:com.carrotgarden.nexus.example.script.ScriptStorageImpl.java
private void updateScript(final FileObject file) { final FileName name = file.getName(); log.info("New script file found: " + name); String script;//from w w w . j av a 2s .c o m try { final FileContent content = file.getContent(); script = IOUtil.toString(content.getInputStream()); content.close(); } catch (final IOException e) { log.warn("Unable to read script file: " + name, e); return; } synchronized (scriptStore) { scriptStore.put(getName(name), script); } }
From source file:de.innovationgate.wgpublisher.design.fs.FileSystemDesignProvider.java
public static boolean upgradeOverlay(FileSystemDesignProvider originalDesignProvider, PluginID baseId, OverlayStatus status, FileObject targetFolder, String targetEncoding, Logger log, DesignFileValidator validator) throws Exception { if (!status.isUpdatedBaseDesign() && !status.isNewOverlay()) { throw new WGDesignSyncException( "Used base plugin is no higher version than overlay compliance version. Cannot perform upgrade"); }//ww w. ja v a 2s.co m if (status.isNewOverlay()) { log.info("Initializing empty overlay"); } else { log.info("Upgrading overlay from base design version " + status.getCompliantBaseVersion() + " to " + status.getCurrentBaseVersion()); } // Creating new folders (Done separately because there may be empty folders in the overlay which would not be created via resource changes) for (String folder : status.getNewFolders()) { FileObject targetFile = targetFolder.resolveFile(folder); if (!targetFile.exists()) { log.info("Adding new overlay folder " + targetFolder.getName().getRelativeName(targetFile.getName())); targetFile.createFolder(); } } // Perform resource changes boolean conflictFileCreated = false; for (ChangedDocument resource : status.getChangedDocuments().values()) { if (performChange(resource, originalDesignProvider, status, targetEncoding, targetFolder, log, validator)) { conflictFileCreated = true; } } // Overwrite plugin version status.getOverlayData().setBasepluginVersion(baseId.getVersion().toString()); // Write new overlay data file FileObject targetFCFolder = targetFolder.resolveFile(DesignDirectory.FOLDERNAME_FILES); FileObject systemFC = targetFCFolder.resolveFile("system"); FileObject overlayDataFile = systemFC.resolveFile(OverlayDesignProvider.OVERLAY_DATA_FILE); OutputStream out = new BufferedOutputStream(overlayDataFile.getContent().getOutputStream(false)); status.getOverlayData().write(out); out.flush(); out.close(); // Eventually update base-csconfig.xml FileObject baseCsConfigFile = originalDesignProvider.getFilesFolder().resolveFile("system/csconfig.xml"); if (baseCsConfigFile.exists()) { String sourceHash = MD5HashingInputStream.getStreamHash(baseCsConfigFile.getContent().getInputStream()); String targetHash = ""; FileObject baseCsConfigFileOnOverlay = systemFC.resolveFile("base-csconfig.xml"); if (baseCsConfigFileOnOverlay.exists()) { targetHash = MD5HashingInputStream .getStreamHash(baseCsConfigFileOnOverlay.getContent().getInputStream()); } if (!sourceHash.equals(targetHash)) { baseCsConfigFileOnOverlay.delete(); FileUtil.copyContent(baseCsConfigFile, baseCsConfigFileOnOverlay); } } // Eventually update the dependency to the base plugin on csconfig.xml's plugin config FileObject overlayCsConfigFile = systemFC.resolveFile("csconfig.xml"); if (overlayCsConfigFile.exists()) { CSConfig overlayCsConfig = CSConfig.load(overlayCsConfigFile); if (overlayCsConfig.getPluginConfig() != null) { boolean dependencyUpdated = false; for (PluginID id : overlayCsConfig.getPluginConfig().getDependencies()) { if (id.getUniqueName().equals(baseId.getUniqueName()) && !id.getVersion().equals(baseId.getVersion())) { Version dependencyVersion = new Version(baseId.getVersion().getMajorVersion(), baseId.getVersion().getMinorVersion(), baseId.getVersion().getMaintenanceVersion(), baseId.getVersion().getPatchVersion(), 0); id.setVersion(dependencyVersion); dependencyUpdated = true; } } if (dependencyUpdated) { log.info("Updating dependency to base plugin in overlay plugin to new version " + baseId.getVersion()); overlayCsConfig.write(overlayCsConfigFile); } } } // Read/Write design configuration model to ensure correct storage versions of csconfig.xml (#00003634) FileObject designDefinitionFile = DesignDirectory.getDesignDefinitionFile(targetFolder); WGADesignConfigurationModel model = new WGADesignConfigurationModel( new File(designDefinitionFile.getName().getPath())); model.saveChanges(); // Clear the overlay status status.overlayWasUpgraded(); return conflictFileCreated; }
From source file:com.sludev.commons.vfs2.provider.azure.AzFileProviderTest.java
@Test public void A006_testContent() throws Exception { String currAccountStr = testProperties.getProperty("azure.account.name"); String currKey = testProperties.getProperty("azure.account.key"); String currContainerStr = testProperties.getProperty("azure.test0001.container.name"); String currHost = testProperties.getProperty("azure.host"); // <account>.blob.core.windows.net String currFileNameStr;//from www . j a va2s . c o m DefaultFileSystemManager currMan = new DefaultFileSystemManager(); currMan.addProvider(AzConstants.AZSBSCHEME, new AzFileProvider()); currMan.init(); StaticUserAuthenticator auth = new StaticUserAuthenticator("", currAccountStr, currKey); FileSystemOptions opts = new FileSystemOptions(); DefaultFileSystemConfigBuilder.getInstance().setUserAuthenticator(opts, auth); currFileNameStr = "file05"; String currUriStr = String.format("%s://%s/%s/%s", AzConstants.AZSBSCHEME, currHost, currContainerStr, currFileNameStr); FileObject currFile = currMan.resolveFile(currUriStr, opts); FileContent content = currFile.getContent(); long size = content.getSize(); Assert.assertTrue(size >= 0); long modTime = content.getLastModifiedTime(); Assert.assertTrue(modTime > 0); }