Optimization for StringMap. (FELIX-1293)
git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@790347 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/util/StringMap.java b/framework/src/main/java/org/apache/felix/framework/util/StringMap.java
index ca1f95d..876e883 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/StringMap.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/StringMap.java
@@ -1,4 +1,4 @@
-/*
+/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -36,12 +36,12 @@
{
this(true);
}
-
+
public StringMap(boolean caseSensitive)
{
m_map = new TreeMap(new StringComparator(caseSensitive));
}
-
+
public StringMap(Map map, boolean caseSensitive)
{
this(caseSensitive);
@@ -55,9 +55,12 @@
public void setCaseSensitive(boolean b)
{
- TreeMap map = new TreeMap(new StringComparator(b));
- map.putAll(m_map);
- m_map = map;
+ if (isCaseSensitive() != b)
+ {
+ TreeMap map = new TreeMap(new StringComparator(b));
+ map.putAll(m_map);
+ m_map = map;
+ }
}
public int size()