/** * Add file permissions info to ZIP entry. * Current implementation adds "ASi Unix" (tag 0x756e) extra block to entry. * * @param zipEntry ZIP entry * @param permissions permissions to assign */ static boolean setZTFilePermissions(ZipEntry zipEntry, ZTFilePermissions permissions) { try { List<ZipExtraField> fields = ExtraFieldUtils.parse(zipEntry.getExtra()); AsiExtraField asiExtraField = getFirstAsiExtraField(fields); if (asiExtraField == null) { asiExtraField = new AsiExtraField(); fields.add(asiExtraField); } asiExtraField.setDirectory(zipEntry.isDirectory()); asiExtraField.setMode(ZTFilePermissionsUtil.toPosixFileMode(permissions)); zipEntry.setExtra(ExtraFieldUtils.mergeLocalFileDataData(fields)); return true; } catch (java.util.zip.ZipException ze) { return false; } }
/** * Add file permissions info to ZIP entry. * Current implementation adds "ASi Unix" (tag 0x756e) extra block to entry. * * @param zipEntry ZIP entry * @param permissions permissions to assign */ static boolean setZTFilePermissions(ZipEntry zipEntry, ZTFilePermissions permissions) { try { List<ZipExtraField> fields = ExtraFieldUtils.parse(zipEntry.getExtra()); AsiExtraField asiExtraField = getFirstAsiExtraField(fields); if (asiExtraField == null) { asiExtraField = new AsiExtraField(); fields.add(asiExtraField); } asiExtraField.setDirectory(zipEntry.isDirectory()); asiExtraField.setMode(ZTFilePermissionsUtil.toPosixFileMode(permissions)); zipEntry.setExtra(ExtraFieldUtils.mergeLocalFileDataData(fields)); return true; } catch (java.util.zip.ZipException ze) { return false; } }