Stephen Haberman has uploaded a new change for review.

  https://gwt-review.googlesource.com/3280


Change subject: Remove unused, package-private FastStringMap.
......................................................................

Remove unused, package-private FastStringMap.

Change-Id: I8dd9f897a044ba53be5fc74fabb40a382b9ef119
---
D user/src/com/google/gwt/user/client/ui/FastStringMap.java
M user/test/com/google/gwt/user/UiPart1Suite.java
D user/test/com/google/gwt/user/client/ui/FastStringMapTest.java
D user/test/com/google/gwt/user/maptests/FastStringMapTest.java
4 files changed, 0 insertions(+), 426 deletions(-)



diff --git a/user/src/com/google/gwt/user/client/ui/FastStringMap.java b/user/src/com/google/gwt/user/client/ui/FastStringMap.java
deleted file mode 100644
index 8538ccc..0000000
--- a/user/src/com/google/gwt/user/client/ui/FastStringMap.java
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-
-package com.google.gwt.user.client.ui;
-
-import com.google.gwt.core.client.JavaScriptObject;
-
-import java.util.AbstractMap;
-import java.util.AbstractSet;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Special-case Map implementation which imposes limits on the types of keys - * that can be used in return for much faster speed. In specific, only strings
- * that could be added to a JavaScript object as keys are valid.
- */
-
-class FastStringMap<T> extends AbstractMap<String, T> {
-  private static class ImplMapEntry<T> implements Map.Entry<String, T> {
-
-    private String key;
-
-    private T value;
-
-    ImplMapEntry(String key, T value) {
-      this.key = key;
-      this.value = value;
-    }
-
-    @Override
-    public boolean equals(Object a) {
-      if (a instanceof Map.Entry<?, ?>) {
-        Map.Entry<?, ?> s = (Map.Entry<?, ?>) a;
-        if (equalsWithNullCheck(key, s.getKey())
-            && equalsWithNullCheck(value, s.getValue())) {
-          return true;
-        }
-      }
-      return false;
-    }
-
-    // strip prefix from key
-    public String getKey() {
-      return key;
-    }
-
-    public T getValue() {
-      return value;
-    }
-
-    @Override
-    public int hashCode() {
-      int keyHash = 0;
-      int valueHash = 0;
-      if (key != null) {
-        keyHash = key.hashCode();
-      }
-      if (value != null) {
-        valueHash = value.hashCode();
-      }
-      return keyHash ^ valueHash;
-    }
-
-    public T setValue(T object) {
-      T old = value;
-      value = object;
-      return old;
-    }
-
-    private boolean equalsWithNullCheck(Object a, Object b) {
-      if (a == b) {
-        return true;
-      } else if (a == null) {
-        return false;
-      } else {
-        return a.equals(b);
-      }
-    }
-  }
-
-  /*
- * Accesses need to be prefixed with ':' to prevent conflict with built-in
-   * JavaScript properties.
-   */
-  private JavaScriptObject map;
-
-  public FastStringMap() {
-    init();
-  }
-
-  @Override
-  public void clear() {
-    init();
-  }
-
-  @Override
-  public boolean containsKey(Object key) {
-    return containsKey(keyMustBeString(key), map);
-  }
-
-  @Override
-  public boolean containsValue(Object arg0) {
-    return values().contains(arg0);
-  }
-
-  @Override
-  public Set<Map.Entry<String, T>> entrySet() {
-    return new AbstractSet<Map.Entry<String, T>>() {
-
-      @Override
-      public boolean contains(Object key) {
-        Map.Entry<?, ?> s = (Map.Entry<?, ?>) key;
-        Object value = get(s.getKey());
-        if (value == null) {
-          return value == s.getValue();
-        } else {
-          return value.equals(s.getValue());
-        }
-      }
-
-      @Override
-      public Iterator<Map.Entry<String, T>> iterator() {
-
- Iterator<Map.Entry<String, T>> custom = new Iterator<Map.Entry<String, T>>() {
-          Iterator<String> keys = keySet().iterator();
-
-          public boolean hasNext() {
-            return keys.hasNext();
-          }
-
-          public Map.Entry<String, T> next() {
-            String key = keys.next();
-            return new ImplMapEntry<T>(key, get(key));
-          }
-
-          public void remove() {
-            keys.remove();
-          }
-        };
-        return custom;
-      }
-
-      @Override
-      public int size() {
-        return FastStringMap.this.size();
-      }
-
-    };
-  }
-
-  @Override
-  public T get(Object key) {
-    return get(keyMustBeString(key));
-  }
-
-  // Prepend ':' to avoid conflicts with built-in Object properties.
-  public native T get(String key) /*-{
- return th...@com.google.gwt.user.client.ui.FastStringMap::map[':' + key];
-  }-*/;
-
-  @Override
-  public boolean isEmpty() {
-    return size() == 0;
-  }
-
-  @Override
-  public Set<String> keySet() {
-    return new AbstractSet<String>() {
-      @Override
-      public boolean contains(Object key) {
-        return containsKey(key);
-      }
-
-      @Override
-      public Iterator<String> iterator() {
-        List<String> l = new ArrayList<String>();
-        addAllKeysFromJavascriptObject(l, map);
-        return l.iterator();
-      }
-
-      @Override
-      public int size() {
-        return FastStringMap.this.size();
-      }
-    };
-  }
-
-  // Prepend ':' to avoid conflicts with built-in Object properties.
-  @Override
-  public native T put(String key, T value) /*-{
-    key = ':' + key;
-    var map = th...@com.google.gwt.user.client.ui.FastStringMap::map;
-    var previous = map[key];
-    map[key] = value;
-    return previous;
-  }-*/;
-
-  @Override
-  public void putAll(Map<? extends String, ? extends T> arg0) {
- for (Map.Entry<? extends String, ? extends T> entry : arg0.entrySet()) {
-      put(entry.getKey(), entry.getValue());
-    }
-  }
-
-  @Override
-  public T remove(Object key) {
-    return remove(keyMustBeString(key));
-  }
-
-  // only count keys with ':' prefix
-  @Override
-  public native int size() /*-{
-    var value = th...@com.google.gwt.user.client.ui.FastStringMap::map;
-    var count = 0;
-    for(var key in value) {
-      if (key.charAt(0) == ':') ++count;
-    }
-    return count;
-  }-*/;
-
-  @Override
-  public Collection<T> values() {
-    List<T> values = new ArrayList<T>();
-    addAllValuesFromJavascriptObject(values, map);
-    return values;
-  }
-
-  // only count keys with ':' prefix
-  private native void addAllKeysFromJavascriptObject(Collection<String> s,
-      JavaScriptObject javaScriptObject) /*-{
-    for(var key in javaScriptObject) {
-      if (key.charAt(0) != ':') continue;
-      s...@java.util.Collection::add(Ljava/lang/Object;)(key.substring(1));
-    }
-  }-*/;
-
-  // only count keys with ':' prefix
-  private native void addAllValuesFromJavascriptObject(Collection<T> s,
-      JavaScriptObject javaScriptObject) /*-{
-    for(var key in javaScriptObject) {
-      if (key.charAt(0) != ':') continue;
-      var value = javaScriptObject[key];
-      s...@java.util.Collection::add(Ljava/lang/Object;)(value);
-    }
-  }-*/;
-
-  // Prepend ':' to avoid conflicts with built-in Object properties.
-  private native boolean containsKey(String key, JavaScriptObject obj)/*-{
-    return (':' + key) in obj;
-  }-*/;
-
-  private native void init() /*-{
-    th...@com.google.gwt.user.client.ui.FastStringMap::map = {};
-  }-*/;
-
-  private String keyMustBeString(Object key) {
-    if (key instanceof String) {
-      return (String) key;
-    } else {
-      throw new IllegalArgumentException(this.getClass().getName()
-          + " can only have Strings as keys, not" + key);
-    }
-  }
-
-  // Prepend ':' to avoid conflicts with built-in Object properties.
-  private native T remove(String key) /*-{
-    key = ':' + key;
-    var map = th...@com.google.gwt.user.client.ui.FastStringMap::map;
-    var previous = map[key];
-    delete map[key];
-    return previous;
-  }-*/;
-}
diff --git a/user/test/com/google/gwt/user/UiPart1Suite.java b/user/test/com/google/gwt/user/UiPart1Suite.java
index 74e7d67..dba4009 100644
--- a/user/test/com/google/gwt/user/UiPart1Suite.java
+++ b/user/test/com/google/gwt/user/UiPart1Suite.java
@@ -45,7 +45,6 @@
 import com.google.gwt.user.client.ui.DockLayoutPanelTest;
 import com.google.gwt.user.client.ui.DockPanelTest;
 import com.google.gwt.user.client.ui.ElementWrappingTest;
-import com.google.gwt.user.client.ui.FastStringMapTest;
 import com.google.gwt.user.client.ui.FileUploadTest;
 import com.google.gwt.user.client.ui.FiniteWidgetIteratorTest;
 import com.google.gwt.user.client.ui.FlexTableTest;
@@ -96,7 +95,6 @@
     suite.addTestSuite(DOMTest.class);
     suite.addTestSuite(DOMRtlTest.class);
     suite.addTestSuite(ElementWrappingTest.class);
-    suite.addTestSuite(FastStringMapTest.class);
     suite.addTestSuite(FileUploadTest.class);
     suite.addTestSuite(FiniteWidgetIteratorTest.class);
     suite.addTestSuite(FlexTableTest.class);
diff --git a/user/test/com/google/gwt/user/client/ui/FastStringMapTest.java b/user/test/com/google/gwt/user/client/ui/FastStringMapTest.java
deleted file mode 100644
index 420203f..0000000
--- a/user/test/com/google/gwt/user/client/ui/FastStringMapTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.user.client.ui;
-
-import com.google.gwt.junit.client.GWTTestCase;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * Tests <code>FastStringMap</code>Right now, no tests are directly run here,
- * because the tests are run in mapTest.FastStringMapTest. This is because
- * otherwise the inclusion of the map testing code causes the system to generate - * many compiler errors during unit testing, thereby making real errors harder
- * to spot.
- */
-public class FastStringMapTest extends GWTTestCase {
-
-  /**
-   * These is an example of two correctly formatted java API specification.
-   */
-  public static Map<String, String> makeEmptyMap() {
-    return new FastStringMap<String>();
-  }
-
-  public String getModuleName() {
-    return "com.google.gwt.user.User";
-  }
-
-  public void test() {
-    // Only FastStringMap specific tests should go here. Look in
- // com.google.gwt.user.maptests.FastStringMapTest for all apache Map tests.
-  }
-
-  /*
-   * Test for collisions between stored strings and JavaScript Object
-   * properties.
-   */
-  public void testJSOCollision() {
-    Map<String, String> map = makeEmptyMap();
-    assertEquals(0, map.size());
-    map.put("k1", "v1");
-    assertEquals(1, map.size());
-    assertEquals("v1", map.get("k1"));
-    map.put("toString", "toStringVal");
-    assertEquals(2, map.size());
-    assertEquals("toStringVal", map.get("toString"));
-    map.put("watch", "watchVal");
-    Set<String> keys = map.keySet();
-    assertEquals(3, keys.size());
-    map.put("__proto__", "__proto__Val");
-    assertEquals(4 ,map.size());
-    assertEquals("__proto__Val", map.get("__proto__"));
-    map.put("k1", "v1b");
-    keys = map.keySet();
-    assertEquals(4, keys.size());
-    Collection<String> values = map.values();
-    assertEquals(4, values.size());
-    map.put("k2", "v1b");
-    values = map.values();
-    assertEquals(5, values.size());
-    map.put("","empty");
-    assertEquals("empty", map.get(""));
-    map.remove("k2");
-    assertEquals(5, values.size());
-  }
-
-}
diff --git a/user/test/com/google/gwt/user/maptests/FastStringMapTest.java b/user/test/com/google/gwt/user/maptests/FastStringMapTest.java
deleted file mode 100644
index f176661..0000000
--- a/user/test/com/google/gwt/user/maptests/FastStringMapTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2007 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.google.gwt.user.maptests;
-
-import org.apache.commons.collections.TestMap;
-
-import java.util.Map;
-
-/**
- * Test class for <code>FastStringMap</code>.
- */
-public class FastStringMapTest extends TestMap {
-
-  public String getModuleName() {
-    return "com.google.gwt.user.FastStringMapTest";
-  }
-
-  protected Map makeEmptyMap() {
-    return com.google.gwt.user.client.ui.FastStringMapTest.makeEmptyMap();
-  }
-
-  /**
- * Override if your map does not allow a <code>null</code> key. The default
-   * implementation returns <code>true</code>
-   */
-  protected boolean useNullKey() {
-    return false;
-  }
-
-  /**
- * Override if your map does not allow <code>null</code> values. The default
-   * implementation returns <code>true</code>.
-   */
-  protected boolean useNullValue() {
-    return true;
-  }
-
-}

--
To view, visit https://gwt-review.googlesource.com/3280
To unsubscribe, visit https://gwt-review.googlesource.com/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8dd9f897a044ba53be5fc74fabb40a382b9ef119
Gerrit-PatchSet: 1
Gerrit-Project: gwt
Gerrit-Branch: master
Gerrit-Owner: Stephen Haberman <stephen.haber...@gmail.com>

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors
--- You received this message because you are subscribed to the Google Groups "GWT Contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to google-web-toolkit-contributors+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to