Author: etnu
Date: Tue Jan 27 09:45:09 2009
New Revision: 738043
URL: http://svn.apache.org/viewvc?rev=738043&view=rev
Log:
Fixed potential NPE when accessing an invalid container.
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java
Modified:
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java?rev=738043&r1=738042&r2=738043&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
(original)
+++
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/config/JsonContainerConfig.java
Tue Jan 27 09:45:09 2009
@@ -100,7 +100,12 @@
return null;
}
}
- return config.get(container).get(property);
+
+ Map<String, Object> containerData = config.get(container);
+ if (containerData == null) {
+ return null;
+ }
+ return containerData.get(property);
}
/**
Modified:
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java?rev=738043&r1=738042&r2=738043&view=diff
==============================================================================
---
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java
(original)
+++
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/config/JsonContainerConfigTest.java
Tue Jan 27 09:45:09 2009
@@ -23,10 +23,7 @@
import static org.apache.shindig.config.JsonContainerConfig.CONTAINER_KEY;
import static org.apache.shindig.config.JsonContainerConfig.PARENT_KEY;
import static org.junit.Assert.assertEquals;
-
-import org.apache.shindig.config.ContainerConfig;
-import org.apache.shindig.config.ContainerConfigException;
-import org.apache.shindig.config.JsonContainerConfig;
+import static org.junit.Assert.assertNull;
import org.json.JSONObject;
import org.junit.Test;
@@ -155,6 +152,12 @@
assertEquals(expected, actual);
}
+ @Test
+ public void invalidContainerReturnsNull() throws Exception {
+ ContainerConfig config = new
JsonContainerConfig(createDefaultContainer().getAbsolutePath());
+ assertNull("Did not return null for invalid container.",
config.getString("fake", PARENT_KEY));
+ }
+
@Test(expected = ContainerConfigException.class)
public void badConfigThrows() throws Exception {
JSONObject json = new JSONObject();