1 package com.atlassian.plugin.util.zip;
2
3 import org.apache.commons.io.IOUtils;
4
5 import java.io.File;
6 import java.io.IOException;
7 import java.net.URL;
8 import java.util.zip.ZipEntry;
9 import java.util.zip.ZipInputStream;
10
11 public class UrlUnzipper extends AbstractUnzipper {
12 private URL zipUrl;
13
14 public UrlUnzipper(URL zipUrl, File destDir) {
15 this.zipUrl = zipUrl;
16 this.destDir = destDir;
17 }
18
19 public void unzip() throws IOException {
20 ZipInputStream zis = null;
21 try {
22 zis = new ZipInputStream(zipUrl.openStream());
23
24 ZipEntry zipEntry;
25 while ((zipEntry = zis.getNextEntry()) != null) {
26 saveEntry(zis, zipEntry);
27 }
28 } finally {
29 IOUtils.closeQuietly(zis);
30 }
31 }
32
33 public File unzipFileInArchive(String fileName) {
34 throw new UnsupportedOperationException("Feature not implemented.");
35 }
36
37 public ZipEntry[] entries() throws IOException {
38 return entries(new ZipInputStream(zipUrl.openStream()));
39 }
40 }