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

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


The following commit(s) were added to refs/heads/feature/GEODE-6225 by this 
push:
     new d824103  added catalog and schema to xml and commands. Product still 
needs to use them.
d824103 is described below

commit d82410310b1ccb42d16aa9e3f6bc92f89b31b377
Author: Darrel Schneider <[email protected]>
AuthorDate: Wed Dec 19 15:44:01 2018 -0800

    added catalog and schema to xml and commands. Product still needs to use 
them.
---
 .../jdbc/internal/TestConfigService.java           |   2 +-
 .../cli/CreateMappingCommandDUnitTest.java         |  10 +-
 .../cli/DescribeMappingCommandDUnitTest.java       |   8 +-
 .../internal/cli/ListMappingCommandDUnitTest.java  |   2 +-
 .../jdbc/internal/cli/CreateMappingCommand.java    |  16 ++-
 .../jdbc/internal/cli/DescribeMappingCommand.java  |   4 +
 .../jdbc/internal/configuration/RegionMapping.java |  57 +++++---
 .../connectors/jdbc/internal/xml/ElementType.java  |   2 +
 .../xml/JdbcConnectorServiceXmlParser.java         |   2 +
 .../geode.apache.org/schema/jdbc/jdbc-1.0.xsd      |   2 +
 .../jdbc/internal/RegionMappingTest.java           | 146 ++++++++++++++++-----
 .../internal/cli/CreateMappingCommandTest.java     |  24 ++--
 .../internal/cli/CreateMappingFunctionTest.java    |   2 +-
 .../internal/cli/DescribeMappingCommandTest.java   |   6 +-
 .../jdbc/internal/cli/ListMappingCommandTest.java  |   4 +-
 .../jdbc/internal/xml/ElementTypeTest.java         |   6 +
 16 files changed, 217 insertions(+), 76 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 cd31ce6..8d0bde2 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
@@ -63,6 +63,6 @@ public class TestConfigService {
 
   private static RegionMapping createRegionMapping(String pdxClassName, String 
ids) {
     return new RegionMapping(REGION_NAME, pdxClassName, REGION_TABLE_NAME,
-        CONNECTION_CONFIG_NAME, ids);
+        CONNECTION_CONFIG_NAME, ids, null, null);
   }
 }
diff --git 
a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
 
b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
index 21b48e2..dadc964 100644
--- 
a/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
+++ 
b/geode-connectors/src/distributedTest/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandDUnitTest.java
@@ -15,10 +15,12 @@
 package org.apache.geode.connectors.jdbc.internal.cli;
 
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING;
+import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__CATALOG_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__DATA_SOURCE_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__ID_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__PDX_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__REGION_NAME;
+import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__SCHEMA_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__SYNCHRONOUS_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__TABLE_NAME;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -185,6 +187,8 @@ public class CreateMappingCommandDUnitTest {
     csb.addOption(CREATE_MAPPING__TABLE_NAME, "myTable");
     csb.addOption(CREATE_MAPPING__PDX_NAME, "myPdxClass");
     csb.addOption(CREATE_MAPPING__ID_NAME, "myId");
+    csb.addOption(CREATE_MAPPING__CATALOG_NAME, "myCatalog");
+    csb.addOption(CREATE_MAPPING__SCHEMA_NAME, "mySchema");
 
     gfsh.executeAndAssertThat(csb.toString()).statusIsSuccess();
 
@@ -194,6 +198,8 @@ public class CreateMappingCommandDUnitTest {
       assertThat(mapping.getTableName()).isEqualTo("myTable");
       assertThat(mapping.getPdxName()).isEqualTo("myPdxClass");
       assertThat(mapping.getIds()).isEqualTo("myId");
+      assertThat(mapping.getCatalog()).isEqualTo("myCatalog");
+      assertThat(mapping.getSchema()).isEqualTo("mySchema");
       validateRegionAlteredOnServer(regionName, false);
       validateAsyncEventQueueCreatedOnServer(regionName, false);
     });
@@ -204,6 +210,8 @@ public class CreateMappingCommandDUnitTest {
       assertThat(regionMapping.getTableName()).isEqualTo("myTable");
       assertThat(regionMapping.getPdxName()).isEqualTo("myPdxClass");
       assertThat(regionMapping.getIds()).isEqualTo("myId");
+      assertThat(regionMapping.getCatalog()).isEqualTo("myCatalog");
+      assertThat(regionMapping.getSchema()).isEqualTo("mySchema");
       validateRegionAlteredInClusterConfig(regionName, false);
       validateAsyncEventQueueCreatedInClusterConfig(regionName, false);
     });
@@ -346,7 +354,7 @@ public class CreateMappingCommandDUnitTest {
     // NOTE: --table is optional so it should not be in the output but it is. 
See GEODE-3468.
     gfsh.executeAndAssertThat(csb.toString()).statusIsError()
         .containsOutput(
-            "You should specify option (--table, --pdx-name, --synchronous, 
--id) for this command");
+            "You should specify option (--table, --pdx-name, --synchronous, 
--id, --catalog, --schema) for this command");
   }
 
   @Test
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 8490e42..03cc3ab 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
@@ -15,10 +15,12 @@
 package org.apache.geode.connectors.jdbc.internal.cli;
 
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING;
+import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__CATALOG_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__DATA_SOURCE_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__ID_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__PDX_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__REGION_NAME;
+import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__SCHEMA_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__TABLE_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.DescribeMappingCommand.DESCRIBE_MAPPING;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.DescribeMappingCommand.DESCRIBE_MAPPING__REGION_NAME;
@@ -87,6 +89,8 @@ public class DescribeMappingCommandDUnitTest implements 
Serializable {
     csb.addOption(CREATE_MAPPING__TABLE_NAME, "testTable");
     csb.addOption(CREATE_MAPPING__PDX_NAME, "myPdxClass");
     csb.addOption(CREATE_MAPPING__ID_NAME, "myId");
+    csb.addOption(CREATE_MAPPING__CATALOG_NAME, "myCatalog");
+    csb.addOption(CREATE_MAPPING__SCHEMA_NAME, "mySchema");
 
     gfsh.executeAndAssertThat(csb.toString()).statusIsSuccess();
 
@@ -102,6 +106,8 @@ public class DescribeMappingCommandDUnitTest implements 
Serializable {
     commandResultAssert.containsKeyValuePair(CREATE_MAPPING__TABLE_NAME, 
"testTable");
     commandResultAssert.containsKeyValuePair(CREATE_MAPPING__PDX_NAME, 
"myPdxClass");
     commandResultAssert.containsKeyValuePair(CREATE_MAPPING__ID_NAME, "myId");
+    commandResultAssert.containsKeyValuePair(CREATE_MAPPING__CATALOG_NAME, 
"myCatalog");
+    commandResultAssert.containsKeyValuePair(CREATE_MAPPING__SCHEMA_NAME, 
"mySchema");
   }
 
   @Test
@@ -149,7 +155,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", "myId"));
+        "testTable", "connection", "myId", null, 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 6cfd1bc..bc4ce9e 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", 
null));
+          new RegionMapping(name, "x.y.MyPdxClass", "table", "connection", 
null, null, 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 4f8a0ab..c911637 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
@@ -66,6 +66,12 @@ public class CreateMappingCommand extends SingleGfshCommand {
   static final String CREATE_MAPPING__ID_NAME = "id";
   static final String CREATE_MAPPING__ID_NAME__HELP =
       "The table column names to use as the region key for this JDBC mapping. 
If more than one column name is given then they must be separated by commas.";
+  static final String CREATE_MAPPING__CATALOG_NAME = "catalog";
+  static final String CREATE_MAPPING__CATALOG_NAME__HELP =
+      "The catalog that contains the database table. By default, the catalog 
is null causing the table to be found irrespective of catalog.";
+  static final String CREATE_MAPPING__SCHEMA_NAME = "schema";
+  static final String CREATE_MAPPING__SCHEMA_NAME__HELP =
+      "The schema that contains the database table. By default, the schema is 
null causing the table to be found irrespective of schema.";
 
   public static String createAsyncEventQueueName(String regionPath) {
     if (regionPath.startsWith("/")) {
@@ -90,15 +96,19 @@ public class CreateMappingCommand extends SingleGfshCommand 
{
       @CliOption(key = CREATE_MAPPING__SYNCHRONOUS_NAME,
           help = CREATE_MAPPING__SYNCHRONOUS_NAME__HELP,
           specifiedDefaultValue = "true", unspecifiedDefaultValue = "false") 
boolean synchronous,
-      @CliOption(key = CREATE_MAPPING__ID_NAME,
-          help = CREATE_MAPPING__ID_NAME__HELP) String id) {
+      @CliOption(key = CREATE_MAPPING__ID_NAME, help = 
CREATE_MAPPING__ID_NAME__HELP) String id,
+      @CliOption(key = CREATE_MAPPING__CATALOG_NAME,
+          help = CREATE_MAPPING__CATALOG_NAME__HELP) String catalog,
+      @CliOption(key = CREATE_MAPPING__SCHEMA_NAME,
+          help = CREATE_MAPPING__SCHEMA_NAME__HELP) String schema) {
     if (regionName.startsWith("/")) {
       regionName = regionName.substring(1);
     }
 
     // input
     Set<DistributedMember> targetMembers = findMembersForRegion(regionName);
-    RegionMapping mapping = new RegionMapping(regionName, pdxName, table, 
dataSourceName, id);
+    RegionMapping mapping =
+        new RegionMapping(regionName, pdxName, table, dataSourceName, id, 
catalog, schema);
 
     try {
       ConfigurationPersistenceService configurationPersistenceService =
diff --git 
a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
 
b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
index 038c31c..81cdfcb 100644
--- 
a/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
+++ 
b/geode-connectors/src/main/java/org/apache/geode/connectors/jdbc/internal/cli/DescribeMappingCommand.java
@@ -14,10 +14,12 @@
  */
 package org.apache.geode.connectors.jdbc.internal.cli;
 
+import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__CATALOG_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__DATA_SOURCE_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__ID_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__PDX_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__REGION_NAME;
+import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__SCHEMA_NAME;
 import static 
org.apache.geode.connectors.jdbc.internal.cli.CreateMappingCommand.CREATE_MAPPING__TABLE_NAME;
 
 import java.util.Set;
@@ -91,6 +93,8 @@ public class DescribeMappingCommand extends GfshCommand {
     sectionModel.addData(CREATE_MAPPING__TABLE_NAME, mapping.getTableName());
     sectionModel.addData(CREATE_MAPPING__PDX_NAME, mapping.getPdxName());
     sectionModel.addData(CREATE_MAPPING__ID_NAME, mapping.getIds());
+    sectionModel.addData(CREATE_MAPPING__CATALOG_NAME, mapping.getCatalog());
+    sectionModel.addData(CREATE_MAPPING__SCHEMA_NAME, mapping.getSchema());
   }
 
   @CliAvailabilityIndicator({DESCRIBE_MAPPING})
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 28bbacb..8d19a88 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
@@ -49,6 +49,7 @@ import org.apache.geode.pdx.internal.TypeRegistry;
  *       &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;attribute name="catalog" 
type="{http://www.w3.org/2001/XMLSchema}string"; />
  *     &lt;/restriction>
  *   &lt;/complexContent>
  * &lt;/complexType>
@@ -72,6 +73,10 @@ public class RegionMapping implements CacheElement {
   protected String pdxName;
   @XmlAttribute(name = "ids")
   protected String ids;
+  @XmlAttribute(name = "catalog")
+  protected String catalog;
+  @XmlAttribute(name = "schema")
+  protected String schema;
 
   @XmlTransient
   protected String regionName;
@@ -81,12 +86,14 @@ public class RegionMapping implements CacheElement {
   public RegionMapping() {}
 
   public RegionMapping(String regionName, String pdxName, String tableName,
-      String dataSourceName, String ids) {
+      String dataSourceName, String ids, String catalog, String schema) {
     this.regionName = regionName;
     this.pdxName = pdxName;
     this.tableName = tableName;
     this.dataSourceName = dataSourceName;
     this.ids = ids;
+    this.catalog = catalog;
+    this.schema = schema;
   }
 
   public void setDataSourceName(String dataSourceName) {
@@ -109,6 +116,14 @@ public class RegionMapping implements CacheElement {
     this.ids = ids;
   }
 
+  public void setCatalog(String catalog) {
+    this.catalog = catalog;
+  }
+
+  public void setSchema(String schema) {
+    this.schema = schema;
+  }
+
   public String getDataSourceName() {
     return dataSourceName;
   }
@@ -125,6 +140,14 @@ public class RegionMapping implements CacheElement {
     return ids;
   }
 
+  public String getCatalog() {
+    return catalog;
+  }
+
+  public String getSchema() {
+    return schema;
+  }
+
   public String getTableName() {
     return tableName;
   }
@@ -229,23 +252,17 @@ public class RegionMapping implements CacheElement {
 
     RegionMapping that = (RegionMapping) o;
 
-    if (regionName != null ? !regionName.equals(that.regionName) : 
that.regionName != null) {
-      return false;
-    }
-    if (!pdxName.equals(that.pdxName)) {
-      return false;
-    }
-    if (tableName != null ? !tableName.equals(that.tableName) : that.tableName 
!= null) {
-      return false;
-    }
-    if (dataSourceName != null ? !dataSourceName.equals(that.dataSourceName)
-        : that.dataSourceName != null) {
-      return false;
-    }
-    if (ids != null ? !ids.equals(that.ids) : that.ids != null) {
-      return false;
-    }
-    return true;
+    return isEqual(regionName, that.regionName)
+        && isEqual(pdxName, that.pdxName)
+        && isEqual(tableName, that.tableName)
+        && isEqual(dataSourceName, that.dataSourceName)
+        && isEqual(ids, that.ids)
+        && isEqual(catalog, that.catalog)
+        && isEqual(schema, that.schema);
+  }
+
+  private static boolean isEqual(String s1, String s2) {
+    return s1 != null ? s1.equals(s2) : s2 == null;
   }
 
   @Override
@@ -255,6 +272,8 @@ public class RegionMapping implements CacheElement {
     result = 31 * result + (tableName != null ? tableName.hashCode() : 0);
     result = 31 * result + (dataSourceName != null ? dataSourceName.hashCode() 
: 0);
     result = 31 * result + (ids != null ? ids.hashCode() : 0);
+    result = 31 * result + (catalog != null ? catalog.hashCode() : 0);
+    result = 31 * result + (schema != null ? schema.hashCode() : 0);
     return result;
   }
 
@@ -266,6 +285,8 @@ public class RegionMapping implements CacheElement {
         + ", tableName='" + tableName + '\''
         + ", dataSourceName='" + dataSourceName + '\''
         + ", ids='" + ids + '\''
+        + ", catalog='" + catalog + '\''
+        + ", schema='" + schema + '\''
         + '}';
   }
 
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 46eca88..c4316ca 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
@@ -38,6 +38,8 @@ public enum ElementType {
       
mapping.setTableName(attributes.getValue(JdbcConnectorServiceXmlParser.TABLE));
       
mapping.setPdxName(attributes.getValue(JdbcConnectorServiceXmlParser.PDX_NAME));
       mapping.setIds(attributes.getValue(JdbcConnectorServiceXmlParser.IDS));
+      
mapping.setCatalog(attributes.getValue(JdbcConnectorServiceXmlParser.CATALOG));
+      
mapping.setSchema(attributes.getValue(JdbcConnectorServiceXmlParser.SCHEMA));
       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 abef62c..900c012 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
@@ -25,6 +25,8 @@ public class JdbcConnectorServiceXmlParser extends 
AbstractXmlParser {
   static final String TABLE = "table";
   static final String PDX_NAME = "pdx-name";
   static final String IDS = "ids";
+  static final String CATALOG = "catalog";
+  static final String SCHEMA = "schema";
 
   @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 b225a4d..366fb81 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
@@ -44,6 +44,8 @@ XML schema for JDBC Connector Service in Geode.
                 <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:attribute type="xsd:string" name="catalog" 
use="optional"/>
+                <xsd:attribute type="xsd:string" name="schema" 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 4eee89f..8e58448 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
@@ -40,9 +40,6 @@ public class RegionMappingTest {
 
   private String name;
   private String fieldName1;
-  private String columnName1;
-  private String fieldName2;
-  private String columnName2;
 
   private RegionMapping mapping;
 
@@ -50,14 +47,11 @@ public class RegionMappingTest {
   public void setUp() {
     name = "name";
     fieldName1 = "myField1";
-    columnName1 = "myfield1";
-    fieldName2 = "myField2";
-    columnName2 = "MYFIELD2";
   }
 
   @Test
   public void initiatedWithNullValues() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
 
     assertThat(mapping.getTableName()).isNull();
     assertThat(mapping.getRegionName()).isNull();
@@ -65,13 +59,15 @@ public class RegionMappingTest {
     assertThat(mapping.getPdxName()).isEqualTo("pdxClassName");
     assertThat(mapping.getRegionToTableName()).isNull();
     assertThat(mapping.getIds()).isNull();
+    assertThat(mapping.getCatalog()).isNull();
+    assertThat(mapping.getSchema()).isNull();
     assertThat(mapping.getColumnNameForField("fieldName", 
mock(TableMetaDataView.class)))
         .isEqualTo("fieldName");
   }
 
   @Test
   public void hasCorrectTableName() {
-    mapping = new RegionMapping(null, null, name, null, null);
+    mapping = new RegionMapping(null, null, name, null, null, null, null);
 
     assertThat(mapping.getTableName()).isEqualTo(name);
     assertThat(mapping.getRegionToTableName()).isEqualTo(name);
@@ -79,7 +75,7 @@ public class RegionMappingTest {
 
   @Test
   public void hasCorrectTableNameWhenRegionNameIsSet() {
-    mapping = new RegionMapping("regionName", null, "tableName", null, null);
+    mapping = new RegionMapping("regionName", null, "tableName", null, null, 
null, null);
 
     assertThat(mapping.getRegionName()).isEqualTo("regionName");
     assertThat(mapping.getTableName()).isEqualTo("tableName");
@@ -88,7 +84,7 @@ public class RegionMappingTest {
 
   @Test
   public void hasCorrectRegionName() {
-    mapping = new RegionMapping(name, null, null, null, null);
+    mapping = new RegionMapping(name, null, null, null, null, null, null);
 
     assertThat(mapping.getRegionName()).isEqualTo(name);
     assertThat(mapping.getRegionToTableName()).isEqualTo(name);
@@ -96,14 +92,14 @@ public class RegionMappingTest {
 
   @Test
   public void hasCorrectConfigName() {
-    mapping = new RegionMapping(null, null, null, name, null);
+    mapping = new RegionMapping(null, null, null, name, null, null, null);
 
     assertThat(mapping.getDataSourceName()).isEqualTo(name);
   }
 
   @Test
   public void hasCorrectPdxClassName() {
-    mapping = new RegionMapping(null, name, null, null, null);
+    mapping = new RegionMapping(null, name, null, null, null, null, null);
 
     assertThat(mapping.getPdxName()).isEqualTo(name);
   }
@@ -111,14 +107,30 @@ public class RegionMappingTest {
   @Test
   public void hasCorrectIds() {
     String ids = "ids";
-    mapping = new RegionMapping(null, null, null, null, ids);
+    mapping = new RegionMapping(null, null, null, null, ids, null, null);
 
     assertThat(mapping.getIds()).isEqualTo(ids);
   }
 
   @Test
+  public void hasCorrectCatalog() {
+    String catalog = "catalog";
+    mapping = new RegionMapping(null, null, null, null, null, catalog, null);
+
+    assertThat(mapping.getCatalog()).isEqualTo(catalog);
+  }
+
+  @Test
+  public void hasCorrectSchema() {
+    String schema = "schema";
+    mapping = new RegionMapping(null, null, null, null, null, null, schema);
+
+    assertThat(mapping.getSchema()).isEqualTo(schema);
+  }
+
+  @Test
   public void returnsColumnNameIfFieldNotMapped() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
 
     String columnName = mapping.getColumnNameForField(fieldName1, 
mock(TableMetaDataView.class));
 
@@ -128,7 +140,7 @@ public class RegionMappingTest {
   @Test
   public void 
returnsColumnNameFromTableMetaDataIfFieldNotMappedAndMetaDataMatchesWithCaseDiffering()
 {
     String metaDataColumnName = fieldName1.toUpperCase();
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     
when(tableMetaDataView.getColumnNames()).thenReturn(Collections.singleton(metaDataColumnName));
 
@@ -139,7 +151,7 @@ public class RegionMappingTest {
   @Test
   public void 
returnsColumnNameFromTableMetaDataIfFieldNotMappedAndMetaDataMatchesExactly() {
     String metaDataColumnName = fieldName1;
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     
when(tableMetaDataView.getColumnNames()).thenReturn(Collections.singleton(metaDataColumnName));
 
@@ -149,7 +161,7 @@ public class RegionMappingTest {
 
   @Test
   public void returnsColumnNameIfFieldNotMappedAndNotInMetaData() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     
when(tableMetaDataView.getColumnNames()).thenReturn(Collections.singleton("does 
not match"));
 
@@ -158,7 +170,7 @@ public class RegionMappingTest {
 
   @Test
   public void getColumnNameForFieldThrowsIfTwoColumnsMatchField() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
 
     TableMetaDataView tableMetaDataView = mock(TableMetaDataView.class);
     HashSet<String> columnNames =
@@ -174,7 +186,7 @@ public class RegionMappingTest {
 
   @Test
   public void throwsIfColumnNotMappedAndPdxClassNameDoesNotExist() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     
when(typeRegistry.getPdxTypesForClassName("pdxClassName")).thenReturn(Collections.emptySet());
     expectedException.expect(JdbcConnectorException.class);
@@ -187,7 +199,7 @@ public class RegionMappingTest {
   public void 
throwsIfColumnNotMappedAndPdxClassNameDoesExistButHasNoMatchingFields() {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null, null, 
null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     HashSet<PdxType> pdxTypes = new 
HashSet<>(Arrays.asList(mock(PdxType.class)));
     
when(typeRegistry.getPdxTypesForClassName(pdxClassName)).thenReturn(pdxTypes);
@@ -202,7 +214,7 @@ public class RegionMappingTest {
   public void 
throwsIfColumnNotMappedAndPdxClassNameDoesExistButHasMoreThanOneMatchingFields()
 {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null, null, 
null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     PdxType pdxType = mock(PdxType.class);
     when(pdxType.getFieldNames())
@@ -220,7 +232,7 @@ public class RegionMappingTest {
   public void 
returnsIfColumnNotMappedAndPdxClassNameDoesExistAndHasOneFieldThatInexactlyMatches()
 {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null, null, 
null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     PdxType pdxType = mock(PdxType.class);
     when(pdxType.getFieldNames())
@@ -236,7 +248,7 @@ public class RegionMappingTest {
   public void 
returnsIfColumnNotMappedAndPdxClassNameDoesExistAndHasOneFieldThatExactlyMatches()
 {
     String pdxClassName = "pdxClassName";
     String columnName = "columnName";
-    mapping = new RegionMapping(null, pdxClassName, null, null, null);
+    mapping = new RegionMapping(null, pdxClassName, null, null, null, null, 
null);
     TypeRegistry typeRegistry = mock(TypeRegistry.class);
     PdxType pdxType = mock(PdxType.class);
     when(pdxType.getPdxField(columnName)).thenReturn(mock(PdxField.class));
@@ -249,9 +261,9 @@ public class RegionMappingTest {
   @Test
   public void verifyTwoDefaultInstancesAreEqual() {
     RegionMapping rm1 =
-        new RegionMapping("regionName", "pdxClassName", null, 
"dataSourceName", null);
+        new RegionMapping("regionName", "pdxClassName", null, 
"dataSourceName", null, null, null);
     RegionMapping rm2 =
-        new RegionMapping("regionName", "pdxClassName", null, 
"dataSourceName", null);
+        new RegionMapping("regionName", "pdxClassName", null, 
"dataSourceName", null, null, null);
     assertThat(rm1).isEqualTo(rm2);
   }
 
@@ -259,17 +271,39 @@ public class RegionMappingTest {
   @Test
   public void verifyTwoInstancesThatAreEqualHaveSameHashCode() {
     RegionMapping rm1 = new RegionMapping("regionName",
-        "pdxClassName", "tableName", "dataSourceName", "ids");
+        "pdxClassName", "tableName", "dataSourceName", "ids", "catalog", 
"schema");
 
     RegionMapping rm2 = new RegionMapping("regionName",
-        "pdxClassName", "tableName", "dataSourceName", "ids");
+        "pdxClassName", "tableName", "dataSourceName", "ids", "catalog", 
"schema");
 
     assertThat(rm1.hashCode()).isEqualTo(rm2.hashCode());
   }
 
   @Test
+  public void verifyToStringGivenAllAttributes() {
+    RegionMapping rm = new RegionMapping("regionName", "pdxClassName", 
"tableName",
+        "dataSourceName", "ids", "catalog", "schema");
+
+    String result = rm.toString();
+
+    assertThat(result).isEqualTo(
+        "RegionMapping{regionName='regionName', pdxName='pdxClassName', 
tableName='tableName', dataSourceName='dataSourceName', ids='ids', 
catalog='catalog', schema='schema'}");
+  }
+
+  @Test
+  public void verifyToStringGivenRequiredAttributes() {
+    RegionMapping rm =
+        new RegionMapping("regionName", "pdxClassName", null, 
"dataSourceName", null, null, null);
+
+    String result = rm.toString();
+
+    assertThat(result).isEqualTo(
+        "RegionMapping{regionName='regionName', pdxName='pdxClassName', 
tableName='null', dataSourceName='dataSourceName', ids='null', catalog='null', 
schema='null'}");
+  }
+
+  @Test
   public void verifyThatMappingIsEqualToItself() {
-    mapping = new RegionMapping(null, "pdxClassName", null, null, null);
+    mapping = new RegionMapping(null, "pdxClassName", null, null, null, null, 
null);
     boolean result = mapping.equals(mapping);
     assertThat(mapping.hashCode()).isEqualTo(mapping.hashCode());
     assertThat(result).isTrue();
@@ -277,14 +311,14 @@ public class RegionMappingTest {
 
   @Test
   public void verifyThatNullIsNotEqual() {
-    mapping = new RegionMapping(null, null, null, null, null);
+    mapping = new RegionMapping(null, null, null, null, null, null, null);
     boolean result = mapping.equals(null);
     assertThat(result).isFalse();
   }
 
   @Test
   public void verifyOtherClassIsNotEqual() {
-    mapping = new RegionMapping(null, null, null, null, null);
+    mapping = new RegionMapping(null, null, null, null, null, null, null);
     boolean result = mapping.equals("not equal");
     assertThat(result).isFalse();
   }
@@ -292,9 +326,9 @@ public class RegionMappingTest {
   @Test
   public void verifyMappingWithDifferentRegionNamesAreNotEqual() {
     RegionMapping rm1 =
-        new RegionMapping(null, null, null, null, null);
+        new RegionMapping(null, null, null, null, null, null, null);
     RegionMapping rm2 =
-        new RegionMapping("name", null, null, null, null);
+        new RegionMapping("name", null, null, null, null, null, null);
     boolean result = rm1.equals(rm2);
     assertThat(result).isFalse();
   }
@@ -302,9 +336,29 @@ public class RegionMappingTest {
   @Test
   public void verifyMappingWithDifferentPdxClassNameAreNotEqual() {
     RegionMapping rm1 =
-        new RegionMapping(null, "pdxClassName", null, null, null);
+        new RegionMapping(null, "pdxClassName", null, null, null, null, null);
+    RegionMapping rm2 =
+        new RegionMapping(null, "pdxClass", null, null, null, null, null);
+    boolean result = rm1.equals(rm2);
+    assertThat(result).isFalse();
+  }
+
+  @Test
+  public void verifyMappingWithDifferentTablesAreNotEqual() {
+    RegionMapping rm1 =
+        new RegionMapping(null, "pdxClassName", "table1", null, null, null, 
null);
+    RegionMapping rm2 =
+        new RegionMapping(null, "pdxClassName", "table2", null, null, null, 
null);
+    boolean result = rm1.equals(rm2);
+    assertThat(result).isFalse();
+  }
+
+  @Test
+  public void verifyMappingWithDifferentDataSourcesAreNotEqual() {
+    RegionMapping rm1 =
+        new RegionMapping(null, "pdxClassName", null, "datasource1", null, 
null, null);
     RegionMapping rm2 =
-        new RegionMapping(null, "pdxClass", null, null, null);
+        new RegionMapping(null, "pdxClassName", null, "datasource2", null, 
null, null);
     boolean result = rm1.equals(rm2);
     assertThat(result).isFalse();
   }
@@ -312,9 +366,29 @@ public class RegionMappingTest {
   @Test
   public void verifyMappingWithDifferentIdsAreNotEqual() {
     RegionMapping rm1 =
-        new RegionMapping(null, "pdxClassName", null, null, "ids1");
+        new RegionMapping(null, "pdxClassName", null, null, "ids1", null, 
null);
+    RegionMapping rm2 =
+        new RegionMapping(null, "pdxClassName", null, null, "ids2", null, 
null);
+    boolean result = rm1.equals(rm2);
+    assertThat(result).isFalse();
+  }
+
+  @Test
+  public void verifyMappingWithDifferentCatalogsAreNotEqual() {
+    RegionMapping rm1 =
+        new RegionMapping(null, "pdxClassName", null, null, null, "catalog1", 
null);
+    RegionMapping rm2 =
+        new RegionMapping(null, "pdxClassName", null, null, null, "catalog2", 
null);
+    boolean result = rm1.equals(rm2);
+    assertThat(result).isFalse();
+  }
+
+  @Test
+  public void verifyMappingWithDifferentSchemasAreNotEqual() {
+    RegionMapping rm1 =
+        new RegionMapping(null, "pdxClassName", null, null, null, null, 
"schema1");
     RegionMapping rm2 =
-        new RegionMapping(null, "pdxClassName", null, null, "ids2");
+        new RegionMapping(null, "pdxClassName", null, null, null, null, 
"schema2");
     boolean result = rm1.equals(rm2);
     assertThat(result).isFalse();
   }
diff --git 
a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandTest.java
 
b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandTest.java
index 6981d81..2d66fbf 100644
--- 
a/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandTest.java
+++ 
b/geode-connectors/src/test/java/org/apache/geode/connectors/jdbc/internal/cli/CreateMappingCommandTest.java
@@ -117,9 +117,11 @@ public class CreateMappingCommandTest {
     setupRequiredPreconditions();
     results.add(successFunctionResult);
     String ids = "ids";
+    String catalog = "catalog";
+    String schema = "schema";
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, ids);
+        tableName, pdxClass, false, ids, catalog, schema);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.OK);
     Object[] results = (Object[]) result.getConfigObject();
@@ -131,6 +133,8 @@ public class CreateMappingCommandTest {
     assertThat(regionMapping.getTableName()).isEqualTo(tableName);
     assertThat(regionMapping.getPdxName()).isEqualTo(pdxClass);
     assertThat(regionMapping.getIds()).isEqualTo(ids);
+    assertThat(regionMapping.getCatalog()).isEqualTo(catalog);
+    assertThat(regionMapping.getSchema()).isEqualTo(schema);
     assertThat(synchronous).isFalse();
   }
 
@@ -140,7 +144,7 @@ public class CreateMappingCommandTest {
     results.add(successFunctionResult);
 
     ResultModel result = createRegionMappingCommand.createMapping("/" + 
regionName, dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.OK);
     Object[] results = (Object[]) result.getConfigObject();
@@ -155,7 +159,7 @@ public class CreateMappingCommandTest {
     results.clear();
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
   }
@@ -166,7 +170,7 @@ public class CreateMappingCommandTest {
     
doReturn(null).when(createRegionMappingCommand).getConfigurationPersistenceService();
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
     assertThat(result.toString()).contains("Cluster Configuration must be 
enabled.");
@@ -183,7 +187,7 @@ public class CreateMappingCommandTest {
     when(cacheConfig.getRegions()).thenReturn(Collections.emptyList());
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
     assertThat(result.toString())
@@ -212,7 +216,7 @@ public class CreateMappingCommandTest {
     when(matchingRegion.getCustomRegionElements()).thenReturn(customList);
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
     assertThat(result.toString()).contains("A JDBC mapping for " + regionName 
+ " already exists.");
@@ -236,7 +240,7 @@ public class CreateMappingCommandTest {
     when(matchingRegion.getRegionAttributes()).thenReturn(loaderAttribute);
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
     assertThat(result.toString()).contains("The existing region " + regionName
@@ -261,7 +265,7 @@ public class CreateMappingCommandTest {
     when(matchingRegion.getRegionAttributes()).thenReturn(writerAttribute);
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, true, null);
+        tableName, pdxClass, true, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
     assertThat(result.toString()).contains("The existing region " + regionName
@@ -290,7 +294,7 @@ public class CreateMappingCommandTest {
     when(cacheConfig.getAsyncEventQueues()).thenReturn(asyncEventQueues);
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, true, null);
+        tableName, pdxClass, true, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.OK);
   }
@@ -318,7 +322,7 @@ public class CreateMappingCommandTest {
     when(cacheConfig.getAsyncEventQueues()).thenReturn(asyncEventQueues);
 
     ResultModel result = createRegionMappingCommand.createMapping(regionName, 
dataSourceName,
-        tableName, pdxClass, false, null);
+        tableName, pdxClass, false, null, null, null);
 
     assertThat(result.getStatus()).isSameAs(Result.Status.ERROR);
     assertThat(result.toString())
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 f28a2fa..e14ca8d 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, null);
+    regionMapping = new RegionMapping(REGION_NAME, null, null, 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 674b1ae..c4bd45c 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", "myId");
+        new RegionMapping("region", "class1", "table1", "name1", "myId", 
"myCatalog", "mySchema");
 
     ResultCollector rc = mock(ResultCollector.class);
     doReturn(rc).when(command).executeFunction(any(), any(), any(Set.class));
@@ -81,7 +81,9 @@ public class DescribeMappingCommandTest {
         .containsOutput("data-source", "name1")
         .containsOutput("table", "table1")
         .containsOutput("pdx-name", "class1")
-        .containsOutput("id", "myId");
+        .containsOutput("id", "myId")
+        .containsOutput("catalog", "myCatalog")
+        .containsOutput("schema", "mySchema");
   }
 
   @Test
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 6a2c719..190ccc9 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", null);
+        new RegionMapping("region1", "class1", "table1", "name1", null, null, 
null);
     RegionMapping mapping2 =
-        new RegionMapping("region2", "class2", "table2", "name2", null);
+        new RegionMapping("region2", "class2", "table2", "name2", null, null, 
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 9b15900..a7c8bf0 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
@@ -16,9 +16,11 @@ 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.CATALOG;
 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.SCHEMA;
 import static 
org.apache.geode.connectors.jdbc.internal.xml.JdbcConnectorServiceXmlParser.TABLE;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
@@ -75,6 +77,8 @@ public class ElementTypeTest {
     when(attributes.getValue(TABLE)).thenReturn("table");
     when(attributes.getValue(PDX_NAME)).thenReturn("pdxClass");
     when(attributes.getValue(IDS)).thenReturn("ids");
+    when(attributes.getValue(CATALOG)).thenReturn("catalog");
+    when(attributes.getValue(SCHEMA)).thenReturn("schema");
     when(regionCreation.getFullPath()).thenReturn("/region");
     stack.push(regionCreation);
 
@@ -86,6 +90,8 @@ public class ElementTypeTest {
     assertThat(regionMapping.getTableName()).isEqualTo("table");
     assertThat(regionMapping.getPdxName()).isEqualTo("pdxClass");
     assertThat(regionMapping.getIds()).isEqualTo("ids");
+    assertThat(regionMapping.getCatalog()).isEqualTo("catalog");
+    assertThat(regionMapping.getSchema()).isEqualTo("schema");
   }
 
   @Test

Reply via email to