|
From: <jbo...@li...> - 2006-06-11 10:43:57
|
Author: adamw
Date: 2006-06-11 06:43:54 -0400 (Sun, 11 Jun 2006)
New Revision: 4732
Added:
labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/Null.java
Modified:
labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java
Log:
Blog update
Added: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/Null.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/Null.java 2006-06-11 10:43:34 UTC (rev 4731)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/Null.java 2006-06-11 10:43:54 UTC (rev 4732)
@@ -0,0 +1,19 @@
+package org.jboss.shotoku.service;
+
+/**
+ * @author Adam Warski (ad...@as...)
+ */
+public class Null {
+ private Null() { }
+
+ private static Null instance = new Null();
+ public static Null getInstance() { return instance; }
+
+ public boolean equals(Object obj) {
+ return obj instanceof Null;
+ }
+
+ public int hashCode() {
+ return 0;
+ }
+}
Modified: labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java
===================================================================
--- labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java 2006-06-11 10:43:34 UTC (rev 4731)
+++ labs/shotoku/trunk/shotoku-base/src/java/org/jboss/shotoku/service/ShotokuServiceImpl.java 2006-06-11 10:43:54 UTC (rev 4732)
@@ -130,11 +130,20 @@
new ConcurrentHashSet<ShotokuCacheItem>();
public Object get(Object key) {
- return cache.get(key);
+ Object ret = cache.get(key);
+ if (Null.getInstance().equals(ret)) {
+ return null;
+ } else {
+ return ret;
+ }
}
public void put(Object key, Object o) {
- cache.put(key, o);
+ if (o == null) {
+ cache.put(key, Null.getInstance());
+ } else {
+ cache.put(key, o);
+ }
}
public void remove(Object key) {
@@ -188,7 +197,8 @@
sb.append("and ").append(cacheItems.size()).append(" ShotokuCacheItem objects.<br />");
sb.append("Objects in cache:<br />");
for (Object key : cache.keySet()) {
- sb.append(key.toString() + " : " + cache.get(key).getClass().getName()).append("<br />");
+ sb.append(key.toString()).append(" : ").append(
+ cache.get(key).getClass().getName()).append("<br />");
}
sb.append("Cache items:<br />");
|