final ByteArrayOutputStream baos = new ByteArrayOutputStream(); InputStream in = null; final FileExtension ext = FileExtension.lookupForFile(file.getName()); try { try (FileInputStream fis = new FileInputStream(file)) { gzippedFiles++; try { in = new CompressorStreamFactory().createCompressorInputStream(ext.name().toLowerCase(), fis); } catch (final CompressorException ce) {
assertThat(files, hasItemInArray(that(hasName(that(endsWith(fileExtension)))))); final FileExtension ext = FileExtension.lookup(fileExtension); if (ext == null || FileExtension.ZIP == ext || FileExtension.PACK200 == ext) { return; // Apache Commons Compress cannot deflate zip? TODO test decompressing these formats try (FileInputStream fis = new FileInputStream(file)) { try { in = new CompressorStreamFactory().createCompressorInputStream(ext.name().toLowerCase(), fis); } catch (final CompressorException ce) { ce.printStackTrace();
int gzippedFiles2 = 0; for (final File file : files) { final FileExtension ext = FileExtension.lookupForFile(file.getName()); if (ext != null) { if (file.getName().startsWith("test1")) {
protected int suffixLength(final String lowFilename) { for (final FileExtension extension : FileExtension.values()) { if (extension.isExtensionFor(lowFilename)) { return extension.length(); } } return 0; }
final FileExtension fileExtension = manager.getFileExtension(); if (fileExtension != null) { compressedName += fileExtension.getExtension(); if (tempCompressedFilePattern != null) { final StringBuilder buf = new StringBuilder(); Arrays.asList(fileExtension.createCompressAction(sourceName, tmpCompressedName, true, compressionLevel), new FileRenameAction(tmpCompressedNameFile, true); } else { compressAction = fileExtension.createCompressAction(sourceName, compressedName, true, compressionLevel);
public static FileExtension lookup(final String fileExtension) { for (final FileExtension ext : values()) { if (ext.isExtensionFor(fileExtension)) { return ext; } } return null; }
class CompositeFileExtension implements FileExtension { private List<FileExtension> fileExtensions; public CompositeFileExtension() { //in the real world, this list can be populated through an IoC container fileExtensions = new ArrayList<FileExtension>(); fileExtensions.add(new PNGExtension()); fileExtensions.add(new JPGExtension()); } @Override public String getExtension(byte[] buffer) { String fileExtension = null; for(FileExtension extension : fileExtensions) { if((fileExtension=extension.getExtension(buffer))!=null) { break; } } return fileExtension; } }
if (fileExtension != null) { final File renameToFile = new File(renameTo); renameTo = renameTo.substring(0, renameTo.length() - fileExtension.length()); if (tempCompressedFilePattern != null) { buf.delete(0, buf.length()); Arrays.asList(fileExtension.createCompressAction(renameTo, tmpCompressedName, true, compressionLevel), new FileRenameAction(tmpCompressedNameFile, true); } else { compressAction = fileExtension.createCompressAction(renameTo, compressedName, true, compressionLevel);
public static FileExtension lookupForFile(final String fileName) { for (final FileExtension ext : values()) { if (fileName.endsWith(ext.extension)) { return ext; } } return null; }
@Deprecated protected RollingFileManager(final String fileName, final String pattern, final OutputStream os, final boolean append, final long size, final long time, final TriggeringPolicy triggeringPolicy, final RolloverStrategy rolloverStrategy, final String advertiseURI, final Layout<? extends Serializable> layout, final boolean writeHeader, final ByteBuffer buffer) { super(fileName, os, append, false, advertiseURI, layout, writeHeader, buffer); this.size = size; this.initialTime = time; this.triggeringPolicy = triggeringPolicy; this.rolloverStrategy = rolloverStrategy; this.patternProcessor = new PatternProcessor(pattern); this.patternProcessor.setPrevFileTime(time); this.fileName = fileName; this.fileExtension = FileExtension.lookupForFile(pattern); }
@Deprecated protected RollingFileManager(final LoggerContext loggerContext, final String fileName, final String pattern, final OutputStream os, final boolean append, final boolean createOnDemand, final long size, final long time, final TriggeringPolicy triggeringPolicy, final RolloverStrategy rolloverStrategy, final String advertiseURI, final Layout<? extends Serializable> layout, final boolean writeHeader, final ByteBuffer buffer) { super(loggerContext, fileName, os, append, false, createOnDemand, advertiseURI, layout, writeHeader, buffer); this.size = size; this.initialTime = time; this.triggeringPolicy = triggeringPolicy; this.rolloverStrategy = rolloverStrategy; this.patternProcessor = new PatternProcessor(pattern); this.patternProcessor.setPrevFileTime(time); this.fileName = fileName; this.fileExtension = FileExtension.lookupForFile(pattern); }
/** * @since 2.9 */ protected RollingFileManager(final LoggerContext loggerContext, final String fileName, final String pattern, final OutputStream os, final boolean append, final boolean createOnDemand, final long size, final long time, final TriggeringPolicy triggeringPolicy, final RolloverStrategy rolloverStrategy, final String advertiseURI, final Layout<? extends Serializable> layout, final String filePermissions, final String fileOwner, final String fileGroup, final boolean writeHeader, final ByteBuffer buffer) { super(loggerContext, fileName, os, append, false, createOnDemand, advertiseURI, layout, filePermissions, fileOwner, fileGroup, writeHeader, buffer); this.size = size; this.initialTime = time; this.triggeringPolicy = triggeringPolicy; this.rolloverStrategy = rolloverStrategy; this.patternProcessor = new PatternProcessor(pattern); this.patternProcessor.setPrevFileTime(time); this.fileName = fileName; this.fileExtension = FileExtension.lookupForFile(pattern); }