List of usage examples for org.apache.commons.compress.archivers.zip ZipArchiveEntry setExtraFields
public void setExtraFields(ZipExtraField[] fields)
From source file:at.spardat.xma.xdelta.JarDelta.java
/** * Entry to new name./*from w w w.ja v a 2 s .co m*/ * * @param source the source * @param name the name * @return the zip archive entry * @throws ZipException the zip exception */ public static ZipArchiveEntry entryToNewName(ZipArchiveEntry source, String name) throws ZipException { if (source.getName().equals(name)) return new ZipArchiveEntry(source); ZipArchiveEntry ret = new ZipArchiveEntry(name); byte[] extra = source.getExtra(); if (extra != null) { ret.setExtraFields(ExtraFieldUtils.parse(extra, true, ExtraFieldUtils.UnparseableExtraField.READ)); } else { ret.setExtra(ExtraFieldUtils.mergeLocalFileDataData(source.getExtraFields(true))); } ret.setInternalAttributes(source.getInternalAttributes()); ret.setExternalAttributes(source.getExternalAttributes()); ret.setExtraFields(source.getExtraFields(true)); ret.setCrc(source.getCrc()); ret.setMethod(source.getMethod()); ret.setSize(source.getSize()); return ret; }
From source file:at.spardat.xma.xdelta.JarPatcher.java
/** * Entry to new name./*from w w w. j a v a 2s .co m*/ * * @param source the source * @param name the name * @return the zip archive entry * @throws ZipException the zip exception */ private ZipArchiveEntry copyEntry(ZipArchiveEntry source) throws ZipException { ZipArchiveEntry ret = new ZipArchiveEntry(source.getName()); byte[] extra = source.getExtra(); if (extra != null) { ret.setExtraFields(ExtraFieldUtils.parse(extra, true, ExtraFieldUtils.UnparseableExtraField.READ)); } else { ret.setExtra(ExtraFieldUtils.mergeLocalFileDataData(source.getExtraFields(true))); } ret.setInternalAttributes(source.getInternalAttributes()); ret.setExternalAttributes(source.getExternalAttributes()); ret.setExtraFields(source.getExtraFields(true)); return ret; }
From source file:org.apache.ant.compress.taskdefs.Zip.java
public Zip() { setFactory(new ZipStreamFactory() { public ArchiveOutputStream getArchiveStream(OutputStream stream, String encoding) throws IOException { ZipArchiveOutputStream o = (ZipArchiveOutputStream) super.getArchiveStream(stream, encoding); configure(o);//from w ww. java 2 s. co m return o; } public ArchiveOutputStream getArchiveOutputStream(File f, String encoding) throws IOException { ZipArchiveOutputStream o = (ZipArchiveOutputStream) super.getArchiveOutputStream(f, encoding); configure(o); return o; } }); setEntryBuilder(new ArchiveBase.EntryBuilder() { public ArchiveEntry buildEntry(ArchiveBase.ResourceWithFlags r) { boolean isDir = r.getResource().isDirectory(); ZipArchiveEntry ent = new ZipArchiveEntry(r.getName()); ent.setTime(round(r.getResource().getLastModified(), 2000)); ent.setSize(isDir ? 0 : r.getResource().getSize()); if (!isDir && r.getCollectionFlags().hasModeBeenSet()) { ent.setUnixMode(r.getCollectionFlags().getMode()); } else if (isDir && r.getCollectionFlags().hasDirModeBeenSet()) { ent.setUnixMode(r.getCollectionFlags().getDirMode()); } else if (r.getResourceFlags().hasModeBeenSet()) { ent.setUnixMode(r.getResourceFlags().getMode()); } else { ent.setUnixMode(isDir ? ArchiveFileSet.DEFAULT_DIR_MODE : ArchiveFileSet.DEFAULT_FILE_MODE); } if (r.getResourceFlags().getZipExtraFields() != null) { ent.setExtraFields(r.getResourceFlags().getZipExtraFields()); } if (keepCompression && r.getResourceFlags().hasCompressionMethod()) { ent.setMethod(r.getResourceFlags().getCompressionMethod()); } return ent; } }); setFileSetBuilder(new ArchiveBase.FileSetBuilder() { public ArchiveFileSet buildFileSet(Resource dest) { ArchiveFileSet afs = new ZipFileSet(); afs.setSrcResource(dest); return afs; } }); }
From source file:org.fabrician.maven.plugins.CompressUtils.java
private static ArchiveEntry createArchiveEntry(ArchiveEntry entry, OutputStream out, String alternateBaseDir) throws IOException { String substitutedName = substituteAlternateBaseDir(entry, alternateBaseDir); if (out instanceof TarArchiveOutputStream) { TarArchiveEntry newEntry = new TarArchiveEntry(substitutedName); newEntry.setSize(entry.getSize()); newEntry.setModTime(entry.getLastModifiedDate()); if (entry instanceof TarArchiveEntry) { TarArchiveEntry old = (TarArchiveEntry) entry; newEntry.setSize(old.getSize()); newEntry.setIds(old.getUserId(), old.getGroupId()); newEntry.setNames(old.getUserName(), old.getGroupName()); }/* w w w . java 2s . c om*/ return newEntry; } else if (entry instanceof ZipArchiveEntry) { ZipArchiveEntry old = (ZipArchiveEntry) entry; ZipArchiveEntry zip = new ZipArchiveEntry(substitutedName); zip.setInternalAttributes(old.getInternalAttributes()); zip.setExternalAttributes(old.getExternalAttributes()); zip.setExtraFields(old.getExtraFields(true)); return zip; } else { return new ZipArchiveEntry(substitutedName); } }