diff --git a/google-http-client/src/main/java/com/google/api/client/util/GenericData.java b/google-http-client/src/main/java/com/google/api/client/util/GenericData.java
index c6635f89e..a2af1eae7 100644
--- a/google-http-client/src/main/java/com/google/api/client/util/GenericData.java
+++ b/google-http-client/src/main/java/com/google/api/client/util/GenericData.java
@@ -80,9 +80,9 @@ public final boolean containsKey(Object name) {
return false;
}
String fieldName = (String) name;
- boolean hasFieldInfo = classInfo.hasFieldInfo(fieldName);
- if (hasFieldInfo) {
- return true;
+ FieldInfo fieldInfo = classInfo.getFieldInfo(fieldName);
+ if (fieldInfo != null) {
+ return fieldInfo.getValue(this) != null;
}
if (classInfo.getIgnoreCase()) {
fieldName = fieldName.toLowerCase(Locale.US);
diff --git a/google-http-client/src/test/java/com/google/api/client/util/GenericDataTest.java b/google-http-client/src/test/java/com/google/api/client/util/GenericDataTest.java
index fd6547bb6..828cda414 100644
--- a/google-http-client/src/test/java/com/google/api/client/util/GenericDataTest.java
+++ b/google-http-client/src/test/java/com/google/api/client/util/GenericDataTest.java
@@ -155,9 +155,17 @@ public void testPutIgnoreCase_class() {
@Test
public void testGetIgnoreCase_class() {
MyData data = new MyData();
+ assertFalse(data.containsKey("FIELDA"));
+ assertFalse(data.containsKey("FieldA"));
+ assertFalse(data.keySet().contains("FieldA"));
data.fieldA = "someValue";
assertTrue(data.containsKey("FIELDA"));
+ assertTrue(data.containsKey("FieldA"));
+ assertTrue(data.keySet().contains("FieldA"));
assertEquals("someValue", data.get("FIELDA"));
+ data.fieldA = null;
+ assertFalse(data.containsKey("FIELDA"));
+ assertFalse(data.keySet().contains("FieldA"));
}
@Test
diff --git a/pom.xml b/pom.xml
index 14941b440..b67f08e88 100644
--- a/pom.xml
+++ b/pom.xml
@@ -405,19 +405,6 @@
maven-enforcer-plugin
3.5.0
-
- org.apache.maven.plugins
- maven-source-plugin
- 3.3.1
-
-
- attach-sources
-
- jar-no-fork
-
-
-
-