You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2009/02/04 09:45:31 UTC
svn commit: r740657 - in
/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip:
./ ExtraFieldUtils.java ZipEntry.java ZipFile.java ZipOutputStream.java
Author: bodewig
Date: Wed Feb 4 08:45:31 2009
New Revision: 740657
URL: http://svn.apache.org/viewvc?rev=740657&view=rev
Log:
[SANDBOX-256] - merge revision 738844 from Ant - use JDK 1.4+ collections
Modified:
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ (props changed)
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEntry.java
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java (contents, props changed)
commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipOutputStream.java
Propchange: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 4 08:45:31 2009
@@ -1 +1 @@
-/ant/core/trunk/src/main/org/apache/tools/zip:739300
+/ant/core/trunk/src/main/org/apache/tools/zip:738844,739300
Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java?rev=740657&r1=740656&r2=740657&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java (original)
+++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtils.java Wed Feb 4 08:45:31 2009
@@ -17,8 +17,10 @@
*/
package org.apache.commons.compress.archivers.zip;
-import java.util.Hashtable;
-import java.util.Vector;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
import java.util.zip.ZipException;
/**
@@ -35,10 +37,10 @@
*
* @since 1.1
*/
- private static Hashtable implementations;
+ private static final Map implementations;
static {
- implementations = new Hashtable();
+ implementations = new HashMap();
register(AsiExtraField.class);
register(JarMarker.class);
}
@@ -94,7 +96,7 @@
* @throws ZipException on error
*/
public static ZipExtraField[] parse(byte[] data) throws ZipException {
- Vector v = new Vector();
+ List v = new ArrayList();
int start = 0;
while (start <= data.length - WORD) {
ZipShort headerId = new ZipShort(data, start);
@@ -106,7 +108,7 @@
try {
ZipExtraField ze = createExtraField(headerId);
ze.parseFromLocalFileData(data, start + WORD, length);
- v.addElement(ze);
+ v.add(ze);
} catch (InstantiationException ie) {
throw new ZipException(ie.getMessage());
} catch (IllegalAccessException iae) {
@@ -116,8 +118,7 @@
}
ZipExtraField[] result = new ZipExtraField[v.size()];
- v.copyInto(result);
- return result;
+ return (ZipExtraField[]) v.toArray(result);
}
/**
Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEntry.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEntry.java?rev=740657&r1=740656&r2=740657&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEntry.java (original)
+++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEntry.java Wed Feb 4 08:45:31 2009
@@ -17,7 +17,7 @@
*/
package org.apache.commons.compress.archivers.zip;
-import java.util.Vector;
+import java.util.LinkedHashMap;
import java.util.zip.ZipException;
/**
@@ -35,7 +35,7 @@
private int internalAttributes = 0;
private int platform = PLATFORM_FAT;
private long externalAttributes = 0;
- private Vector/*<ZipExtraField>*/ extraFields = null;
+ private LinkedHashMap/*<ZipShort, ZipExtraField>*/ extraFields = null;
private String name = null;
/**
@@ -92,7 +92,7 @@
public Object clone() {
ZipEntry e = (ZipEntry) super.clone();
- e.extraFields = extraFields != null ? (Vector) extraFields.clone() : null;
+ e.extraFields = extraFields != null ? (LinkedHashMap) extraFields.clone() : null;
e.setInternalAttributes(getInternalAttributes());
e.setExternalAttributes(getExternalAttributes());
e.setExtraFields(getExtraFields());
@@ -191,9 +191,9 @@
* @since 1.1
*/
public void setExtraFields(ZipExtraField[] fields) {
- extraFields = new Vector();
+ extraFields = new LinkedHashMap();
for (int i = 0; i < fields.length; i++) {
- extraFields.addElement(fields[i]);
+ extraFields.put(fields[i].getHeaderId(), fields[i]);
}
setExtra();
}
@@ -208,8 +208,7 @@
return new ZipExtraField[0];
}
ZipExtraField[] result = new ZipExtraField[extraFields.size()];
- extraFields.copyInto(result);
- return result;
+ return (ZipExtraField[]) extraFields.values().toArray(result);
}
/**
@@ -220,19 +219,9 @@
*/
public void addExtraField(ZipExtraField ze) {
if (extraFields == null) {
- extraFields = new Vector();
- }
- ZipShort type = ze.getHeaderId();
- boolean done = false;
- for (int i = 0, fieldsSize = extraFields.size(); !done && i < fieldsSize; i++) {
- if (((ZipExtraField) extraFields.elementAt(i)).getHeaderId().equals(type)) {
- extraFields.setElementAt(ze, i);
- done = true;
- }
- }
- if (!done) {
- extraFields.addElement(ze);
+ extraFields = new LinkedHashMap();
}
+ extraFields.put(ze.getHeaderId(), ze);
setExtra();
}
@@ -243,16 +232,9 @@
*/
public void removeExtraField(ZipShort type) {
if (extraFields == null) {
- extraFields = new Vector();
- }
- boolean done = false;
- for (int i = 0, fieldsSize = extraFields.size(); !done && i < fieldsSize; i++) {
- if (((ZipExtraField) extraFields.elementAt(i)).getHeaderId().equals(type)) {
- extraFields.removeElementAt(i);
- done = true;
- }
+ throw new java.util.NoSuchElementException();
}
- if (!done) {
+ if (extraFields.remove(type) == null) {
throw new java.util.NoSuchElementException();
}
setExtra();
Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java?rev=740657&r1=740656&r2=740657&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java (original)
+++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java Wed Feb 4 08:45:31 2009
@@ -23,9 +23,11 @@
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
import java.util.Calendar;
+import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
-import java.util.Hashtable;
+import java.util.HashMap;
+import java.util.Map;
import java.util.zip.Inflater;
import java.util.zip.InflaterInputStream;
import java.util.zip.ZipException;
@@ -72,12 +74,12 @@
* Maps ZipEntrys to Longs, recording the offsets of the local
* file headers.
*/
- private Hashtable entries = new Hashtable(HASH_SIZE);
+ private final Map entries = new HashMap(HASH_SIZE);
/**
* Maps String to ZipEntrys, name -> actual entry.
*/
- private Hashtable nameMap = new Hashtable(HASH_SIZE);
+ private final Map nameMap = new HashMap(HASH_SIZE);
private static final class OffsetEntry {
private long headerOffset = -1;
@@ -200,7 +202,7 @@
* @return all entries as {@link ZipEntry} instances
*/
public Enumeration getEntries() {
- return entries.keys();
+ return Collections.enumeration(entries.keySet());
}
/**
Propchange: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Feb 4 08:45:31 2009
@@ -1 +1 @@
-/ant/core/trunk/src/main/org/apache/tools/zip/ZipFile.java:738853,739300
+/ant/core/trunk/src/main/org/apache/tools/zip/ZipFile.java:738844,738853,739300
Modified: commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipOutputStream.java
URL: http://svn.apache.org/viewvc/commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipOutputStream.java?rev=740657&r1=740656&r2=740657&view=diff
==============================================================================
--- commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipOutputStream.java (original)
+++ commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipOutputStream.java Wed Feb 4 08:45:31 2009
@@ -25,8 +25,11 @@
import java.io.RandomAccessFile;
import java.io.UnsupportedEncodingException;
import java.util.Date;
-import java.util.Hashtable;
-import java.util.Vector;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
import java.util.zip.CRC32;
import java.util.zip.Deflater;
import java.util.zip.ZipException;
@@ -128,14 +131,14 @@
*
* @since 1.1
*/
- private Vector entries = new Vector();
+ private final List entries = new LinkedList();
/**
* CRC instance to avoid parsing DEFLATED data twice.
*
* @since 1.1
*/
- private CRC32 crc = new CRC32();
+ private final CRC32 crc = new CRC32();
/**
* Count the bytes written to out.
@@ -192,7 +195,7 @@
*
* @since 1.1
*/
- private Hashtable offsets = new Hashtable();
+ private final Map offsets = new HashMap();
/**
* The encoding to use for filenames and the file comment.
@@ -323,13 +326,13 @@
public void finish() throws IOException {
closeEntry();
cdOffset = written;
- for (int i = 0, entriesSize = entries.size(); i < entriesSize; i++) {
- writeCentralFileHeader((ZipEntry) entries.elementAt(i));
+ for (Iterator i = entries.iterator(); i.hasNext(); ) {
+ writeCentralFileHeader((ZipEntry) i.next());
}
cdLength = written - cdOffset;
writeCentralDirectoryEnd();
offsets.clear();
- entries.removeAllElements();
+ entries.clear();
}
/**
@@ -409,7 +412,7 @@
closeEntry();
entry = ze;
- entries.addElement(entry);
+ entries.add(entry);
if (entry.getMethod() == -1) { // not specified
entry.setMethod(method);