You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2018/12/07 00:40:58 UTC

[geode] 01/02: added ids field to jdbc-mapping xml

This is an automated email from the ASF dual-hosted git repository.

dschneider pushed a commit to branch feature/GEODE-6156
in repository https://gitbox.apache.org/repos/asf/geode.git

commit 5e2c9634bbde5a02a4e59e619bcf5a5770d20170
Author: Darrel Schneider <ds...@pivotal.io>
AuthorDate: Thu Dec 6 14:59:17 2018 -0800

    added ids field to jdbc-mapping xml
---
 .../jdbc/internal/TestConfigService.java           |  2 +-
 .../cli/DescribeMappingCommandDUnitTest.java       |  2 +-
 .../internal/cli/ListMappingCommandDUnitTest.java  |  2 +-
 .../jdbc/internal/cli/CreateMappingCommand.java    |  2 +-
 .../jdbc/internal/configuration/RegionMapping.java | 28 +++++++--
 .../connectors/jdbc/internal/xml/ElementType.java  |  1 +
 .../xml/JdbcConnectorServiceXmlParser.java         |  1 +
 .../geode.apache.org/schema/jdbc/jdbc-1.0.xsd      |  1 +
 .../jdbc/internal/RegionMappingTest.java           | 73 ++++++++++++++--------
 .../internal/cli/CreateMappingFunctionTest.java    |  2 +-
 .../internal/cli/DescribeMappingCommandTest.java   |  2 +-
 .../jdbc/internal/cli/ListMappingCommandTest.java  |  4 +-
 .../jdbc/internal/xml/ElementTypeTest.java         |  3 +
 13 files changed, 84 insertions(+), 39 deletions(-)

diff --git a/geode-connectors/src/acceptanceTest/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java b/geode-connectors/src/acceptanceTest/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java
index 2f561f9..2441ae8 100644
--- a/geode-connectors/src/acceptanceTest/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java
+++ b/geode-connectors/src/acceptanceTest/java/org/apache/geode/connectors/jdbc/internal/TestConfigService.java
@@ -52,6 +52,6 @@ public class TestConfigService {
 
   private static RegionMapping createRegionMapping(String pdxClassName) {
     return new RegionMapping(REGION_NAME, pdxClassName, REGION_TABLE_NAME,
-        CONNECTION_CONFIG_NAME);
+        CONNECTION_CONFIG_NAME, null);
   }
 }
diff --git a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandDUnitTest.java b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandDUnitTest.java
index d21227e..9d26275 100644
--- a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandDUnitTest.java
+++ b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandDUnitTest.java
@@ -145,7 +145,7 @@ public class DescribeMappingCommandDUnitTest implements Serializable {
     InternalCache cache = ClusterStartupRule.getCache();
     JdbcConnectorService service = cache.getService(JdbcConnectorService.class);
     service.createRegionMapping(new RegionMapping(REGION_NAME, "myPdxClass",
-        "testTable", "connection"));
+        "testTable", "connection", null));
     assertThat(service.getMappingForRegion(REGION_NAME)).isNotNull();
   }
 }
diff --git a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandDUnitTest.java b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandDUnitTest.java
index 00cc454..6cfd1bc 100644
--- a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandDUnitTest.java
+++ b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandDUnitTest.java
@@ -116,7 +116,7 @@ public class ListMappingCommandDUnitTest implements Serializable {
     for (int i = 1; i <= N; i++) {
       String name = regionName + "-" + i;
       service.createRegionMapping(
-          new RegionMapping(name, "x.y.MyPdxClass", "table", "connection"));
+          new RegionMapping(name, "x.y.MyPdxClass", "table", "connection", null));
       assertThat(service.getMappingForRegion(name)).isNotNull();
     }
   }
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java
index dd47895..ec03721 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommand.java
@@ -93,7 +93,7 @@ public class CreateMappingCommand extends SingleGfshCommand {
 
     // input
     Set<DistributedMember> targetMembers = getMembers(null, null);
-    RegionMapping mapping = new RegionMapping(regionName, pdxName, table, dataSourceName);
+    RegionMapping mapping = new RegionMapping(regionName, pdxName, table, dataSourceName, null);
 
     try {
       ConfigurationPersistenceService configurationPersistenceService =
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/configuration/RegionMapping.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/configuration/RegionMapping.java
index 7dfebeb..28bbacb 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/configuration/RegionMapping.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/configuration/RegionMapping.java
@@ -48,6 +48,7 @@ import org.apache.geode.pdx.internal.TypeRegistry;
  *       &lt;attribute name="data-source" type="{http://www.w3.org/2001/XMLSchema}string" />
  *       &lt;attribute name="table" type="{http://www.w3.org/2001/XMLSchema}string" />
  *       &lt;attribute name="pdx-name" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="ids" type="{http://www.w3.org/2001/XMLSchema}string" />
  *     &lt;/restriction>
  *   &lt;/complexContent>
  * &lt;/complexType>
@@ -69,6 +70,8 @@ public class RegionMapping implements CacheElement {
   protected String tableName;
   @XmlAttribute(name = "pdx-name")
   protected String pdxName;
+  @XmlAttribute(name = "ids")
+  protected String ids;
 
   @XmlTransient
   protected String regionName;
@@ -78,11 +81,12 @@ public class RegionMapping implements CacheElement {
   public RegionMapping() {}
 
   public RegionMapping(String regionName, String pdxName, String tableName,
-      String dataSourceName) {
+      String dataSourceName, String ids) {
     this.regionName = regionName;
     this.pdxName = pdxName;
     this.tableName = tableName;
     this.dataSourceName = dataSourceName;
+    this.ids = ids;
   }
 
   public void setDataSourceName(String dataSourceName) {
@@ -101,6 +105,10 @@ public class RegionMapping implements CacheElement {
     this.pdxName = pdxName;
   }
 
+  public void setIds(String ids) {
+    this.ids = ids;
+  }
+
   public String getDataSourceName() {
     return dataSourceName;
   }
@@ -113,6 +121,10 @@ public class RegionMapping implements CacheElement {
     return pdxName;
   }
 
+  public String getIds() {
+    return ids;
+  }
+
   public String getTableName() {
     return tableName;
   }
@@ -230,6 +242,9 @@ public class RegionMapping implements CacheElement {
         : that.dataSourceName != null) {
       return false;
     }
+    if (ids != null ? !ids.equals(that.ids) : that.ids != null) {
+      return false;
+    }
     return true;
   }
 
@@ -239,14 +254,19 @@ public class RegionMapping implements CacheElement {
     result = 31 * result + pdxName.hashCode();
     result = 31 * result + (tableName != null ? tableName.hashCode() : 0);
     result = 31 * result + (dataSourceName != null ? dataSourceName.hashCode() : 0);
+    result = 31 * result + (ids != null ? ids.hashCode() : 0);
     return result;
   }
 
   @Override
   public String toString() {
-    return "RegionMapping{" + "regionName='" + regionName + '\'' + ", pdxName='"
-        + pdxName + '\'' + ", tableName='" + tableName + '\'' + ", dataSourceName='"
-        + dataSourceName + '\'' + '}';
+    return "RegionMapping{"
+        + "regionName='" + regionName + '\''
+        + ", pdxName='" + pdxName + '\''
+        + ", tableName='" + tableName + '\''
+        + ", dataSourceName='" + dataSourceName + '\''
+        + ", ids='" + ids + '\''
+        + '}';
   }
 
   @Override
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java
index 7379d61..46eca88 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/ElementType.java
@@ -37,6 +37,7 @@ public enum ElementType {
           attributes.getValue(JdbcConnectorServiceXmlParser.DATA_SOURCE));
       mapping.setTableName(attributes.getValue(JdbcConnectorServiceXmlParser.TABLE));
       mapping.setPdxName(attributes.getValue(JdbcConnectorServiceXmlParser.PDX_NAME));
+      mapping.setIds(attributes.getValue(JdbcConnectorServiceXmlParser.IDS));
       stack.push(mapping);
     }
 
diff --git a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java
index c2e7d36..abef62c 100644
--- a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java
+++ b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/xml/JdbcConnectorServiceXmlParser.java
@@ -24,6 +24,7 @@ public class JdbcConnectorServiceXmlParser extends AbstractXmlParser {
   static final String DATA_SOURCE = "data-source";
   static final String TABLE = "table";
   static final String PDX_NAME = "pdx-name";
+  static final String IDS = "ids";
 
   @Override
   public String getNamespaceUri() {
diff --git a/geode-connectors/src/main/resources/META-INF/schemas/geode.apache.org/schema/jdbc/jdbc-1.0.xsd b/geode-connectors/src/main/resources/META-INF/schemas/geode.apache.org/schema/jdbc/jdbc-1.0.xsd
index 7082812..b225a4d 100644
--- a/geode-connectors/src/main/resources/META-INF/schemas/geode.apache.org/schema/jdbc/jdbc-1.0.xsd
+++ b/geode-connectors/src/main/resources/META-INF/schemas/geode.apache.org/schema/jdbc/jdbc-1.0.xsd
@@ -43,6 +43,7 @@ XML schema for JDBC Connector Service in Geode.
                 <xsd:attribute type="xsd:string" name="data-source" use="required"/>
                 <xsd:attribute type="xsd:string" name="table" use="optional"/>
                 <xsd:attribute type="xsd:string" name="pdx-name" use="required"/>
+                <xsd:attribute type="xsd:string" name="ids" use="optional"/>
             </xsd:complexType>
         </xsd:element>
 </xsd:schema>
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java
index f84b9c0..4eee89f 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/RegionMappingTest.java
@@ -57,20 +57,21 @@ public class RegionMappingTest {
 
   @Test
   public void initiatedWithNullValues() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
 
     assertThat(mapping.getTableName()).isNull();
     assertThat(mapping.getRegionName()).isNull();
     assertThat(mapping.getDataSourceName()).isNull();
     assertThat(mapping.getPdxName()).isEqualTo("pdxClassName");
     assertThat(mapping.getRegionToTableName()).isNull();
+    assertThat(mapping.getIds()).isNull();
     assertThat(mapping.getColumnNameForField("fieldName", mock(TableMetaDataView.class)))
         .isEqualTo("fieldName");
   }
 
   @Test
   public void hasCorrectTableName() {
-    mapping = new RegionMapping(null, null, name, null);
+    mapping = new RegionMapping(null, null, name, null, null);
 
     assertThat(mapping.getTableName()).isEqualTo(name);
     assertThat(mapping.getRegionToTableName()).isEqualTo(name);
@@ -78,7 +79,7 @@ public class RegionMappingTest {
 
   @Test
   public void hasCorrectTableNameWhenRegionNameIsSet() {
-    mapping = new RegionMapping("regionName", null, "tableName", null);
+    mapping = new RegionMapping("regionName", null, "tableName", null, null);
 
     assertThat(mapping.getRegionName()).isEqualTo("regionName");
     assertThat(mapping.getTableName()).isEqualTo("tableName");
@@ -87,7 +88,7 @@ public class RegionMappingTest {
 
   @Test
   public void hasCorrectRegionName() {
-    mapping = new RegionMapping(name, null, null, null);
+    mapping = new RegionMapping(name, null, null, null, null);
 
     assertThat(mapping.getRegionName()).isEqualTo(name);
     assertThat(mapping.getRegionToTableName()).isEqualTo(name);
@@ -95,21 +96,29 @@ public class RegionMappingTest {
 
   @Test
   public void hasCorrectConfigName() {
-    mapping = new RegionMapping(null, null, null, name);
+    mapping = new RegionMapping(null, null, null, name, null);
 
     assertThat(mapping.getDataSourceName()).isEqualTo(name);
   }
 
   @Test
   public void hasCorrectPdxClassName() {
-    mapping = new RegionMapping(null, name, null, null);
+    mapping = new RegionMapping(null, name, null, null, null);
 
     assertThat(mapping.getPdxName()).isEqualTo(name);
   }
 
   @Test
+  public void hasCorrectIds() {
+    String ids = "ids";
+    mapping = new RegionMapping(null, null, null, null, ids);
+
+    assertThat(mapping.getIds()).isEqualTo(ids);
+  }
+
+  @Test
   public void returnsColumnNameIfFieldNotMapped() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
 
     String columnName = mapping.getColumnNameForField(fieldName1, mock(TableMetaDataView.class));
 
@@ -119,7 +128,7 @@ public class RegionMappingTest {
   @Test
   public void returnsColumnNameFromTableMetaDataIfFieldNotMappedAndMetaDataMatchesWithCaseDiffering() {
     String metaDataColumnName = fieldName1.toUpperCase();
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     when(tableMetaDataView.getColumnNames()).thenReturn(Collections.singleton(metaDataColumnName));
 
@@ -130,7 +139,7 @@ public class RegionMappingTest {
   @Test
   public void returnsColumnNameFromTableMetaDataIfFieldNotMappedAndMetaDataMatchesExactly() {
     String metaDataColumnName = fieldName1;
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     when(tableMetaDataView.getColumnNames()).thenReturn(Collections.singleton(metaDataColumnName));
 
@@ -140,7 +149,7 @@ public class RegionMappingTest {
 
   @Test
   public void returnsColumnNameIfFieldNotMappedAndNotInMetaData() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     when(tableMetaDataView.getColumnNames()).thenReturn(Collections.singleton("does not match"));
 
@@ -149,7 +158,7 @@ public class RegionMappingTest {
 
   @Test
   public void getColumnNameForFieldThrowsIfTwoColumnsMatchField() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
 
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     HashSet<String> columnNames =
@@ -165,7 +174,7 @@ public class RegionMappingTest {
 
   @Test
   public void throwsIfColumnNotMappedAndPdxClassNameDoesNotExist() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     when(typeRegistry.getPdxTypesForClassName("pdxClassName")).thenReturn(Collections.emptySet());
     expectedException.expect(JdbcConnectorException.class);
@@ -178,7 +187,7 @@ public class RegionMappingTest {
   public void throwsIfColumnNotMappedAndPdxClassNameDoesExistButHasNoMatchingFields() {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     HashSet<PdxType> pdxTypes = new HashSet<>(Arrays.asList(mock(PdxType.class)));
     when(typeRegistry.getPdxTypesForClassName(pdxClassName)).thenReturn(pdxTypes);
@@ -193,7 +202,7 @@ public class RegionMappingTest {
   public void throwsIfColumnNotMappedAndPdxClassNameDoesExistButHasMoreThanOneMatchingFields() {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     PdxType pdxType = mock(PdxType.class);
     when(pdxType.getFieldNames())
@@ -211,7 +220,7 @@ public class RegionMappingTest {
   public void returnsIfColumnNotMappedAndPdxClassNameDoesExistAndHasOneFieldThatInexactlyMatches() {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     PdxType pdxType = mock(PdxType.class);
     when(pdxType.getFieldNames())
@@ -227,7 +236,7 @@ public class RegionMappingTest {
   public void returnsIfColumnNotMappedAndPdxClassNameDoesExistAndHasOneFieldThatExactlyMatches() {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     PdxType pdxType = mock(PdxType.class);
     when(pdxType.getPdxField(columnName)).thenReturn(mock(PdxField.class));
@@ -240,9 +249,9 @@ public class RegionMappingTest {
   @Test
   public void verifyTwoDefaultInstancesAreEqual() {
     RegionMapping rm1 =
-        new RegionMapping("regionName", "pdxClassName", null, "connectionName");
+        new RegionMapping("regionName", "pdxClassName", null, "dataSourceName", null);
     RegionMapping rm2 =
-        new RegionMapping("regionName", "pdxClassName", null, "connectionName");
+        new RegionMapping("regionName", "pdxClassName", null, "dataSourceName", null);
     assertThat(rm1).isEqualTo(rm2);
   }
 
@@ -250,17 +259,17 @@ public class RegionMappingTest {
   @Test
   public void verifyTwoInstancesThatAreEqualHaveSameHashCode() {
     RegionMapping rm1 = new RegionMapping("regionName",
-        "pdxClassName", "tableName", "connectionName");
+        "pdxClassName", "tableName", "dataSourceName", "ids");
 
     RegionMapping rm2 = new RegionMapping("regionName",
-        "pdxClassName", "tableName", "connectionName");
+        "pdxClassName", "tableName", "dataSourceName", "ids");
 
     assertThat(rm1.hashCode()).isEqualTo(rm2.hashCode());
   }
 
   @Test
   public void verifyThatMappingIsEqualToItself() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
     boolean result = mapping.equals(mapping);
     assertThat(mapping.hashCode()).isEqualTo(mapping.hashCode());
     assertThat(result).isTrue();
@@ -268,14 +277,14 @@ public class RegionMappingTest {
 
   @Test
   public void verifyThatNullIsNotEqual() {
-    mapping = new RegionMapping(null, null, null, null);
+    mapping = new RegionMapping(null, null, null, null, null);
     boolean result = mapping.equals(null);
     assertThat(result).isFalse();
   }
 
   @Test
   public void verifyOtherClassIsNotEqual() {
-    mapping = new RegionMapping(null, null, null, null);
+    mapping = new RegionMapping(null, null, null, null, null);
     boolean result = mapping.equals("not equal");
     assertThat(result).isFalse();
   }
@@ -283,9 +292,9 @@ public class RegionMappingTest {
   @Test
   public void verifyMappingWithDifferentRegionNamesAreNotEqual() {
     RegionMapping rm1 =
-        new RegionMapping(null, null, null, null);
+        new RegionMapping(null, null, null, null, null);
     RegionMapping rm2 =
-        new RegionMapping("name", null, null, null);
+        new RegionMapping("name", null, null, null, null);
     boolean result = rm1.equals(rm2);
     assertThat(result).isFalse();
   }
@@ -293,9 +302,19 @@ public class RegionMappingTest {
   @Test
   public void verifyMappingWithDifferentPdxClassNameAreNotEqual() {
     RegionMapping rm1 =
-        new RegionMapping(null, "pdxClassName", null, null);
+        new RegionMapping(null, "pdxClassName", null, null, null);
+    RegionMapping rm2 =
+        new RegionMapping(null, "pdxClass", null, null, null);
+    boolean result = rm1.equals(rm2);
+    assertThat(result).isFalse();
+  }
+
+  @Test
+  public void verifyMappingWithDifferentIdsAreNotEqual() {
+    RegionMapping rm1 =
+        new RegionMapping(null, "pdxClassName", null, null, "ids1");
     RegionMapping rm2 =
-        new RegionMapping(null, "pdxClass", null, null);
+        new RegionMapping(null, "pdxClassName", null, null, "ids2");
     boolean result = rm1.equals(rm2);
     assertThat(result).isFalse();
   }
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunctionTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunctionTest.java
index 955b57f..f28a2fa 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunctionTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingFunctionTest.java
@@ -76,7 +76,7 @@ public class CreateMappingFunctionTest {
     distributedMember = mock(DistributedMember.class);
     service = mock(JdbcConnectorService.class);
 
-    regionMapping = new RegionMapping(REGION_NAME, null, null, null);
+    regionMapping = new RegionMapping(REGION_NAME, null, null, null, null);
 
     when(context.getResultSender()).thenReturn(resultSender);
     when(context.getCache()).thenReturn(cache);
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandTest.java
index d317982..fa05695 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommandTest.java
@@ -69,7 +69,7 @@ public class DescribeMappingCommandTest {
         null);
 
     RegionMapping mapping =
-        new RegionMapping("region", "class1", "table1", "name1");
+        new RegionMapping("region", "class1", "table1", "name1", null);
 
     ResultCollector rc = mock(ResultCollector.class);
     doReturn(rc).when(command).executeFunction(any(), any(), any(Set.class));
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandTest.java
index 1ae457e..6a2c719 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/ListMappingCommandTest.java
@@ -62,9 +62,9 @@ public class ListMappingCommandTest {
         null);
 
     RegionMapping mapping1 =
-        new RegionMapping("region1", "class1", "table1", "name1");
+        new RegionMapping("region1", "class1", "table1", "name1", null);
     RegionMapping mapping2 =
-        new RegionMapping("region2", "class2", "table2", "name2");
+        new RegionMapping("region2", "class2", "table2", "name2", null);
 
     ResultCollector rc = mock(ResultCollector.class);
     doReturn(rc).when(command).executeFunction(any(), any(), any(Set.class));
diff --git a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java
index 295a27b..9b15900 100644
--- a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java
+++ b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/xml/ElementTypeTest.java
@@ -17,6 +17,7 @@ package org.apache.geode.connectors.jdbc.internal.xml;
 
 import static org.apache.geode.connectors.jdbc.internal.xml.ElementType.JDBC_MAPPING;
 import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.DATA_SOURCE;
+import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.IDS;
 import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.PDX_NAME;
 import static org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.TABLE;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -73,6 +74,7 @@ public class ElementTypeTest {
     when(attributes.getValue(DATA_SOURCE)).thenReturn("connectionName");
     when(attributes.getValue(TABLE)).thenReturn("table");
     when(attributes.getValue(PDX_NAME)).thenReturn("pdxClass");
+    when(attributes.getValue(IDS)).thenReturn("ids");
     when(regionCreation.getFullPath()).thenReturn("/region");
     stack.push(regionCreation);
 
@@ -83,6 +85,7 @@ public class ElementTypeTest {
     assertThat(regionMapping.getDataSourceName()).isEqualTo("connectionName");
     assertThat(regionMapping.getTableName()).isEqualTo("table");
     assertThat(regionMapping.getPdxName()).isEqualTo("pdxClass");
+    assertThat(regionMapping.getIds()).isEqualTo("ids");
   }
 
   @Test