From c19edb88337dfb207e6f954a6ae32c8dc6c4f076 Mon Sep 17 00:00:00 2001 From: Plamen Totev Date: Tue, 15 Mar 2016 22:31:23 +0200 Subject: [PATCH] Use PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE for unknown file mode Plexus IO 2.7.1 introduces new constant to indicate the absence of information about a resource octal mode (permissions). Use it instead of hard-coded -1. --- .../plexus/archiver/AbstractArchiver.java | 2 +- .../plexus/archiver/ArchiveEntry.java | 5 +-- .../archiver/diags/TrackingArchiver.java | 34 +++++++++++-------- .../plexus/archiver/zip/ZipResource.java | 2 +- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java b/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java index 42f77abb4..f37b8faba 100755 --- a/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java @@ -411,7 +411,7 @@ private ArchiveEntry asArchiveEntry( final AddedResourceCollection collection, f { final String destFileName = collection.resources.getName( resource ); - int fromResource = -1; + int fromResource = PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE; if ( resource instanceof ResourceAttributeSupplier ) { final PlexusIoResourceAttributes attrs = ( (ResourceAttributeSupplier) resource ).getAttributes(); diff --git a/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java b/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java index e86e29a14..639757fa9 100644 --- a/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java +++ b/src/main/java/org/codehaus/plexus/archiver/ArchiveEntry.java @@ -86,13 +86,14 @@ private ArchiveEntry( String name, @Nonnull PlexusIoResource resource, int type, this.type = type; int permissions = mode; - if ( mode == -1 && this.attributes == null ) + if ( mode == PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE && this.attributes == null ) { permissions = resource.isFile() ? Archiver.DEFAULT_FILE_MODE : resource.isSymbolicLink() ? Archiver.DEFAULT_SYMLILNK_MODE : Archiver.DEFAULT_DIR_MODE; } - this.mode = permissions == -1 ? permissions : ( permissions & UnixStat.PERM_MASK ) | + this.mode = permissions == PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ? permissions + : ( permissions & UnixStat.PERM_MASK ) | ( type == FILE ? UnixStat.FILE_FLAG : type == SYMLINK ? UnixStat.LINK_FLAG : UnixStat.DIR_FLAG ); this.addSynchronously = ( collection != null && !collection.isConcurrentAccessSupported() ); diff --git a/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java b/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java index 8e45d0065..8ecca3ecb 100644 --- a/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java +++ b/src/main/java/org/codehaus/plexus/archiver/diags/TrackingArchiver.java @@ -20,6 +20,7 @@ */ import org.codehaus.plexus.archiver.*; +import org.codehaus.plexus.components.io.attributes.PlexusIoResourceAttributes; import org.codehaus.plexus.components.io.resources.PlexusIoResource; import org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection; import org.codehaus.plexus.util.StringUtils; @@ -55,38 +56,39 @@ public void createArchive() public void addDirectory( final @Nonnull File directory ) throws ArchiverException { - added.add( new Addition( directory, null, null, null, -1 ) ); + added.add( new Addition( directory, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addDirectory( final @Nonnull File directory, final String prefix ) throws ArchiverException { - added.add( new Addition( directory, prefix, null, null, -1 ) ); + added.add( new Addition( directory, prefix, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addDirectory( final @Nonnull File directory, final String[] includes, final String[] excludes ) throws ArchiverException { - added.add( new Addition( directory, null, includes, excludes, -1 ) ); + added.add( new Addition( directory, null, includes, excludes, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addDirectory( final @Nonnull File directory, final String prefix, final String[] includes, final String[] excludes ) throws ArchiverException { - added.add( new Addition( directory, prefix, includes, excludes, -1 ) ); + added.add( new Addition( directory, prefix, includes, excludes, + PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addFileSet( final @Nonnull FileSet fileSet ) throws ArchiverException { - added.add( new Addition( fileSet, null, null, null, -1 ) ); + added.add( new Addition( fileSet, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addFile( final @Nonnull File inputFile, final @Nonnull String destFileName ) throws ArchiverException { - added.add( new Addition( inputFile, destFileName, null, null, -1 ) ); + added.add( new Addition( inputFile, destFileName, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addFile( final @Nonnull File inputFile, final @Nonnull String destFileName, final int permissions ) @@ -98,51 +100,53 @@ public void addFile( final @Nonnull File inputFile, final @Nonnull String destFi public void addArchivedFileSet( final @Nonnull File archiveFile ) throws ArchiverException { - added.add( new Addition( archiveFile, null, null, null, -1 ) ); + added.add( new Addition( archiveFile, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addArchivedFileSet( final @Nonnull File archiveFile, final String prefix ) throws ArchiverException { - added.add( new Addition( archiveFile, prefix, null, null, -1 ) ); + added.add( new Addition( archiveFile, prefix, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addSymlink( String s, String s2 ) throws ArchiverException { - added.add( new Addition( s, null, null, null, -1 ) ); + added.add( new Addition( s, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addSymlink( String s, int i, String s2 ) throws ArchiverException { - added.add( new Addition( s, null, null, null, -1 ) ); + added.add( new Addition( s, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addArchivedFileSet( final File archiveFile, final String[] includes, final String[] excludes ) throws ArchiverException { - added.add( new Addition( archiveFile, null, includes, excludes, -1 ) ); + added.add( new Addition( archiveFile, null, includes, excludes, + PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addArchivedFileSet( final @Nonnull File archiveFile, final String prefix, final String[] includes, final String[] excludes ) throws ArchiverException { - added.add( new Addition( archiveFile, prefix, includes, excludes, -1 ) ); + added.add( new Addition( archiveFile, prefix, includes, excludes, + PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addArchivedFileSet( final ArchivedFileSet fileSet ) throws ArchiverException { - added.add( new Addition( fileSet, null, null, null, -1 ) ); + added.add( new Addition( fileSet, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addArchivedFileSet( final ArchivedFileSet fileSet, Charset charset ) throws ArchiverException { - added.add( new Addition( fileSet, null, null, null, -1 ) ); + added.add( new Addition( fileSet, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public void addResource( final PlexusIoResource resource, final String destFileName, final int permissions ) @@ -154,7 +158,7 @@ public void addResource( final PlexusIoResource resource, final String destFileN public void addResources( final PlexusIoResourceCollection resources ) throws ArchiverException { - added.add( new Addition( resources, null, null, null, -1 ) ); + added.add( new Addition( resources, null, null, null, PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE ) ); } public File getDestFile() diff --git a/src/main/java/org/codehaus/plexus/archiver/zip/ZipResource.java b/src/main/java/org/codehaus/plexus/archiver/zip/ZipResource.java index ad4641dfe..ed749ca44 100644 --- a/src/main/java/org/codehaus/plexus/archiver/zip/ZipResource.java +++ b/src/main/java/org/codehaus/plexus/archiver/zip/ZipResource.java @@ -45,7 +45,7 @@ private static long getLastModofied( ZipArchiveEntry entry ) public synchronized PlexusIoResourceAttributes getAttributes() { - int mode = -1; + int mode = PlexusIoResourceAttributes.UNKNOWN_OCTAL_MODE; if (entry.getPlatform() == ZipArchiveEntry.PLATFORM_UNIX) { mode = entry.getUnixMode();