How are you comparing the keys?
Thanks,

Paulo

Paulo,


Maybe that is the problem. Does the key object need to be comparable or something?
(appologies for long post - I've tried to include most of the relevant key related 
code)

Here are the important parts of the key object we use:

public class RealCacheKey implements CacheKey {
    private Collection myMultipartKey = new HashSet();

    public RealCacheKey(HttpServletRequest aServletRequest) {
        addURIParametersInto(myMultipartKey, aServletRequest);
    }

<...snip...>

public static void addURIParametersInto(Collection aCollection, HttpServletRequest aRequest) {
Enumeration names = aRequest.getParameterNames();


        while (names.hasMoreElements()) {
            String aKey = (String) names.nextElement();
            if (!isCacheBuster(aKey)) {
                String[] values = aRequest.getParameterValues(aKey);
                aCollection.add(new MapEntry(aKey, Arrays.asList(values)));
            }
        }
    }

    private boolean equals(RealCacheKey another) {
        return myMultipartKey.equals(another.myMultipartKey);
    }

    public boolean equals(Object another) {
        return (another instanceof CacheKey) && equals((RealCacheKey) another);
    }
<...snip...>
}

The cachekey interface extends serializable.
The map entries are serializable and look like this:

public class MapEntry implements java.util.Map.Entry, Comparable, Serializable {
    private static final String NULL = "null";
    private Object key;
    private Object value;

    public MapEntry(Object aKey, Object aValue) {
        super();
        this.key = (aKey == null) ? NULL : aKey;
        this.value = (aValue == null) ? NULL : aValue;
    }

<...snip...>


Cheers, Matt.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to