Skip to content

Commit d9cb6a8

Browse files
committed
Added encoding
1 parent 530c2ee commit d9cb6a8

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/main/java/org/codehaus/plexus/archiver/AbstractArchiver.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -714,8 +714,8 @@ protected PlexusIoResourceCollection asResourceCollection( final ArchivedFileSet
714714

715715
if (resources instanceof EncodingSupported ) {
716716
((EncodingSupported)resources).setEncoding( charset );
717-
718717
}
718+
719719
if ( resources instanceof PlexusIoArchivedResourceCollection )
720720
{
721721
( (PlexusIoArchivedResourceCollection) resources ).setFile( fileSet.getArchive() );

src/main/java/org/codehaus/plexus/archiver/zip/PlexusIoZipFileResourceCollection.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,27 @@
33
import java.io.Closeable;
44
import java.io.File;
55
import java.io.IOException;
6+
import java.nio.charset.Charset;
67
import java.util.Enumeration;
78
import java.util.Iterator;
89

910
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
1011
import org.apache.commons.compress.archivers.zip.ZipFile;
1112
import org.codehaus.plexus.components.io.resources.AbstractPlexusIoArchiveResourceCollection;
13+
import org.codehaus.plexus.components.io.resources.EncodingSupported;
1214
import org.codehaus.plexus.components.io.resources.PlexusIoResource;
1315

1416
public class PlexusIoZipFileResourceCollection
15-
extends AbstractPlexusIoArchiveResourceCollection
17+
extends AbstractPlexusIoArchiveResourceCollection implements EncodingSupported
1618
{
1719

1820
/**
1921
* The zip file resource collections role hint.
2022
*/
2123
public static final String ROLE_HINT = "zip";
2224

25+
private Charset charset = Charset.forName( "UTF-8" );
26+
2327
protected Iterator<PlexusIoResource> getEntries()
2428
throws IOException
2529
{
@@ -28,7 +32,7 @@ protected Iterator<PlexusIoResource> getEntries()
2832
{
2933
throw new IOException( "The tar archive file has not been set." );
3034
}
31-
final ZipFile zipFile = new ZipFile( f );
35+
final ZipFile zipFile = new ZipFile( f, charset.name() );
3236
return new CloseableIterator( zipFile );
3337
}
3438

@@ -68,5 +72,8 @@ public void close()
6872
}
6973
}
7074

71-
;
75+
public void setEncoding( Charset charset )
76+
{
77+
this.charset = charset;
78+
}
7279
}

0 commit comments

Comments
 (0)