You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2007/01/29 18:01:35 UTC
svn commit: r501108 - in /tapestry/tapestry5/tapestry-core/trunk/src:
main/java/org/apache/tapestry/DefaultPrimaryKeyEncoder.java
test/java/org/apache/tapestry/DefaultPrimaryKeyEncoderTest.java
Author: hlship
Date: Mon Jan 29 09:01:34 2007
New Revision: 501108
URL: http://svn.apache.org/viewvc?view=rev&rev=501108
Log:
Change implementation of DefaultPrimaryKeyEncoder to make use of LinkedHashMap.
Modified:
tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/DefaultPrimaryKeyEncoder.java
tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/DefaultPrimaryKeyEncoderTest.java
Modified: tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/DefaultPrimaryKeyEncoder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/DefaultPrimaryKeyEncoder.java?view=diff&rev=501108&r1=501107&r2=501108
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/DefaultPrimaryKeyEncoder.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/main/java/org/apache/tapestry/DefaultPrimaryKeyEncoder.java Mon Jan 29 09:01:34 2007
@@ -19,6 +19,7 @@
import static org.apache.tapestry.ioc.internal.util.CollectionFactory.newSet;
import java.io.Serializable;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -39,12 +40,10 @@
*/
public class DefaultPrimaryKeyEncoder<K extends Serializable, V> implements PrimaryKeyEncoder<K, V>
{
- private final Map<K, V> _keyToValue = newMap();
+ private final Map<K, V> _keyToValue = new LinkedHashMap<K, V>();
private final Map<V, K> _valueToKey = newMap();
- private final List<K> _orderedKeys = newList();
-
private Set<K> _deletedKeys;
private K _currentKey;
@@ -60,7 +59,6 @@
throw new IllegalArgumentException(TapestryMessages.duplicateKey(key, value, existing));
_keyToValue.put(key, value);
- _orderedKeys.add(key);
// TODO: Ensure that the value is unique?
@@ -93,12 +91,13 @@
List<V> result = newList();
- for (K key : _orderedKeys)
+ for (Map.Entry<K, V> entry : _keyToValue.entrySet())
{
- if (keySet.contains(key))
+
+ if (keySet.contains(entry.getKey()))
continue;
- result.add(_keyToValue.get(key));
+ result.add(entry.getValue());
}
return result;
@@ -108,9 +107,9 @@
{
List<V> result = newList();
- for (K key : _orderedKeys)
+ for (Map.Entry<K, V> entry : _keyToValue.entrySet())
{
- result.add(_keyToValue.get(key));
+ result.add(entry.getValue());
}
return result;
Modified: tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/DefaultPrimaryKeyEncoderTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/DefaultPrimaryKeyEncoderTest.java?view=diff&rev=501108&r1=501107&r2=501108
==============================================================================
--- tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/DefaultPrimaryKeyEncoderTest.java (original)
+++ tapestry/tapestry5/tapestry-core/trunk/src/test/java/org/apache/tapestry/DefaultPrimaryKeyEncoderTest.java Mon Jan 29 09:01:34 2007
@@ -83,7 +83,7 @@
}
@Test
- public void value_ordered_maintained()
+ public void value_orderer_maintained()
{
IntStringEncoder encoder = newEncoder();