Browse Source

Inspired by PR 54056 I looked for thread-safety issues with HashMap in our code - nothing major found

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1407856 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 12 years ago
parent
commit
ca86f16776
3 changed files with 18 additions and 15 deletions
  1. +2
    -2
      src/main/org/apache/tools/ant/listener/ProfileLogger.java
  2. +2
    -2
      src/main/org/apache/tools/zip/ExtraFieldUtils.java
  3. +14
    -11
      src/main/org/apache/tools/zip/ZipEncodingHelper.java

+ 2
- 2
src/main/org/apache/tools/ant/listener/ProfileLogger.java View File

@@ -18,8 +18,8 @@
package org.apache.tools.ant.listener;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

import org.apache.tools.ant.BuildEvent;
import org.apache.tools.ant.DefaultLogger;
@@ -32,7 +32,7 @@ import org.apache.tools.ant.util.StringUtils;
*/
public class ProfileLogger extends DefaultLogger {

private Map<Object, Date> profileData = new HashMap<Object, Date>();
private Map<Object, Date> profileData = new ConcurrentHashMap<Object, Date>();

/**
* Logs a message to say that the target has started.


+ 2
- 2
src/main/org/apache/tools/zip/ExtraFieldUtils.java View File

@@ -19,9 +19,9 @@
package org.apache.tools.zip;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.zip.ZipException;

/**
@@ -41,7 +41,7 @@ public class ExtraFieldUtils {
private static final Map<ZipShort, Class<?>> implementations;

static {
implementations = new HashMap<ZipShort, Class<?>>();
implementations = new ConcurrentHashMap<ZipShort, Class<?>>();
register(AsiExtraField.class);
register(JarMarker.class);
register(UnicodePathExtraField.class);


+ 14
- 11
src/main/org/apache/tools/zip/ZipEncodingHelper.java View File

@@ -21,6 +21,7 @@ package org.apache.tools.zip;
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

@@ -65,7 +66,8 @@ public abstract class ZipEncodingHelper {
private static final Map<String, SimpleEncodingHolder> simpleEncodings;

static {
simpleEncodings = new HashMap<String, SimpleEncodingHolder>();
Map<String, SimpleEncodingHolder> se =
new HashMap<String, SimpleEncodingHolder>();

char[] cp437_high_chars =
new char[] { 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0,
@@ -93,11 +95,11 @@ public abstract class ZipEncodingHelper {

SimpleEncodingHolder cp437 = new SimpleEncodingHolder(cp437_high_chars);

simpleEncodings.put("CP437",cp437);
simpleEncodings.put("Cp437",cp437);
simpleEncodings.put("cp437",cp437);
simpleEncodings.put("IBM437",cp437);
simpleEncodings.put("ibm437",cp437);
se.put("CP437", cp437);
se.put("Cp437", cp437);
se.put("cp437", cp437);
se.put("IBM437", cp437);
se.put("ibm437", cp437);

char[] cp850_high_chars =
new char[] { 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0,
@@ -125,11 +127,12 @@ public abstract class ZipEncodingHelper {

SimpleEncodingHolder cp850 = new SimpleEncodingHolder(cp850_high_chars);

simpleEncodings.put("CP850",cp850);
simpleEncodings.put("Cp850",cp850);
simpleEncodings.put("cp850",cp850);
simpleEncodings.put("IBM850",cp850);
simpleEncodings.put("ibm850",cp850);
se.put("CP850", cp850);
se.put("Cp850", cp850);
se.put("cp850", cp850);
se.put("IBM850", cp850);
se.put("ibm850", cp850);
simpleEncodings = Collections.unmodifiableMap(se);
}

/**


Loading…
Cancel
Save