You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rya.apache.org by ca...@apache.org on 2018/01/06 00:39:08 UTC

[06/15] incubator-rya git commit: RYA-104 Updated the RyaClient to optionally include features that are required for the Accumulo Client, but not the Mongo Client.

RYA-104 Updated the RyaClient to optionally include features that are required for the Accumulo Client, but not the Mongo Client.


Project: http://git-wip-us.apache.org/repos/asf/incubator-rya/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-rya/commit/e60da4c3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-rya/tree/e60da4c3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-rya/diff/e60da4c3

Branch: refs/heads/master
Commit: e60da4c3fc589e3e65a22d4c3d7cb75c72eb631f
Parents: 33a0486
Author: kchilton2 <ke...@gmail.com>
Authored: Wed Dec 13 18:14:40 2017 -0500
Committer: kchilton2 <ke...@gmail.com>
Committed: Fri Jan 5 16:48:40 2018 -0500

----------------------------------------------------------------------
 .../java/org/apache/rya/api/client/Install.java |   4 +-
 .../org/apache/rya/api/client/RyaClient.java    |  68 +++----
 .../accumulo/AccumuloRyaClientFactory.java      |  18 +-
 .../rya/api/client/mongo/MongoCommand.java      |  11 +-
 .../client/mongo/MongoConnectionDetails.java    |  87 +++++----
 .../rya/api/client/mongo/MongoCreatePCJ.java    |  58 ------
 .../rya/api/client/mongo/MongoDeletePCJ.java    |  51 -----
 .../client/mongo/MongoExecuteSparqlQuery.java   |  56 ++++++
 .../client/mongo/MongoGetInstanceDetails.java   |   7 +-
 .../rya/api/client/mongo/MongoInstall.java      | 101 +++++-----
 .../api/client/mongo/MongoInstanceExists.java   |  13 +-
 .../api/client/mongo/MongoListInstances.java    |  18 +-
 .../api/client/mongo/MongoRyaClientFactory.java |  40 ++--
 .../rya/api/client/mongo/MongoUninstall.java    |  13 +-
 .../api/client/accumulo/AccumuloAddUserIT.java  |  18 +-
 .../accumulo/AccumuloBatchUpdatePCJIT.java      |   2 +-
 .../client/accumulo/AccumuloRemoveUserIT.java   |  18 +-
 .../client/mongo/MongoExecuteSparqlQueryIT.java |  26 +++
 .../client/mongo/MongoGetInstanceDetailsIT.java |  28 +--
 .../rya/api/client/mongo/MongoInstallIT.java    |  65 +++----
 .../api/client/mongo/MongoInstanceExistsIT.java |  22 +--
 .../api/client/mongo/MongoListInstancesIT.java  |  12 +-
 .../client/mongo/MongoLoadStatementsFileIT.java | 190 +++++++++----------
 .../api/client/mongo/MongoLoadStatementsIT.java |  26 +++
 .../rya/api/client/mongo/MongoUninstallIT.java  |  25 +--
 .../periodic/KafkaLatencyBenchmark.java         |   4 +-
 .../benchmark/query/QueryBenchmarkRunIT.java    |   2 +-
 .../pcj/fluo/integration/CreateDeleteIT.java    |   2 +-
 .../indexing/pcj/fluo/integration/QueryIT.java  | 178 ++++++++---------
 .../pcj/fluo/visibility/PcjVisibilityIT.java    |   2 +-
 .../pcj/fluo/test/base/KafkaExportITBase.java   |   4 +-
 .../pcj/functions/geo/GeoFunctionsIT.java       |   2 +-
 .../org/apache/rya/shell/RyaAdminCommands.java  |  36 ++--
 .../apache/rya/shell/RyaAdminCommandsTest.java  |  22 +--
 34 files changed, 614 insertions(+), 615 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/common/rya.api/src/main/java/org/apache/rya/api/client/Install.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/org/apache/rya/api/client/Install.java b/common/rya.api/src/main/java/org/apache/rya/api/client/Install.java
index fd754ea..a716b6d 100644
--- a/common/rya.api/src/main/java/org/apache/rya/api/client/Install.java
+++ b/common/rya.api/src/main/java/org/apache/rya/api/client/Install.java
@@ -38,13 +38,13 @@ public interface Install {
     /**
      * Install a new instance of Rya.
      *
-     * @param instanceName - Indicates the name of the Rya instance to install. (not null)
+     * @param ryaInstanceName - Indicates the name of the Rya instance to install. (not null)
      * @param installConfig - Configures how the Rya instance will operate. The
      *   instance name that is in this variable must match the {@code instanceName}. (not null)
      * @throws DuplicateInstanceNameException A Rya instance already exists for the provided name.
      * @throws RyaClientException Something caused the command to fail.
      */
-    public void install(final String instanceName, final InstallConfiguration installConfig) throws DuplicateInstanceNameException, RyaClientException;
+    public void install(final String ryaInstanceName, final InstallConfiguration installConfig) throws DuplicateInstanceNameException, RyaClientException;
 
     /**
      * A Rya instance already exists for the provided name.

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/common/rya.api/src/main/java/org/apache/rya/api/client/RyaClient.java
----------------------------------------------------------------------
diff --git a/common/rya.api/src/main/java/org/apache/rya/api/client/RyaClient.java b/common/rya.api/src/main/java/org/apache/rya/api/client/RyaClient.java
index 0a55edb..de0b542 100644
--- a/common/rya.api/src/main/java/org/apache/rya/api/client/RyaClient.java
+++ b/common/rya.api/src/main/java/org/apache/rya/api/client/RyaClient.java
@@ -20,6 +20,8 @@ package org.apache.rya.api.client;
 
 import static java.util.Objects.requireNonNull;
 
+import java.util.Optional;
+
 import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
 import edu.umd.cs.findbugs.annotations.NonNull;
 import net.jcip.annotations.Immutable;
@@ -32,17 +34,17 @@ import net.jcip.annotations.Immutable;
 public class RyaClient {
     // Administrative functions.
     private final Install install;
-    private final CreatePCJ createPcj;
-    private final DeletePCJ deletePcj;
-    private final CreatePeriodicPCJ createPeriodicPcj;
-    private final DeletePeriodicPCJ deletePeriodicPcj;
-    private final ListIncrementalQueries listIncrementalQueries;
-    private final BatchUpdatePCJ bactchUpdatePCJ;
+    private final Optional<CreatePCJ> createPcj;
+    private final Optional<DeletePCJ> deletePcj;
+    private final Optional<CreatePeriodicPCJ> createPeriodicPcj;
+    private final Optional<DeletePeriodicPCJ> deletePeriodicPcj;
+    private final Optional<ListIncrementalQueries> listIncrementalQueries;
+    private final Optional<BatchUpdatePCJ> bactchUpdatePCJ;
     private final GetInstanceDetails getInstanceDetails;
     private final InstanceExists instanceExists;
     private final ListInstances listInstances;
-    private final AddUser addUser;
-    private final RemoveUser removeUser;
+    private final Optional<AddUser> addUser;
+    private final Optional<RemoveUser> removeUser;
     private final Uninstall uninstall;
     private final LoadStatements loadStatements;
     private final LoadStatementsFile loadStatementsFile;
@@ -53,17 +55,17 @@ public class RyaClient {
      */
     public RyaClient(
             final Install install,
-            final CreatePCJ createPcj,
-            final DeletePCJ deletePcj,
-            final CreatePeriodicPCJ createPeriodicPcj,
-            final DeletePeriodicPCJ deletePeriodicPcj,
-            final ListIncrementalQueries listIncrementalQueries,
-            final BatchUpdatePCJ batchUpdatePcj,
+            final Optional<CreatePCJ> createPcj,
+            final Optional<DeletePCJ> deletePcj,
+            final Optional<CreatePeriodicPCJ> createPeriodicPcj,
+            final Optional<DeletePeriodicPCJ> deletePeriodicPcj,
+            final Optional<ListIncrementalQueries> listIncrementalQueries,
+            final Optional<BatchUpdatePCJ> batchUpdatePcj,
             final GetInstanceDetails getInstanceDetails,
             final InstanceExists instanceExists,
             final ListInstances listInstances,
-            final AddUser addUser,
-            final RemoveUser removeUser,
+            final Optional<AddUser> addUser,
+            final Optional<RemoveUser> removeUser,
             final Uninstall uninstall,
             final LoadStatements loadStatements,
             final LoadStatementsFile loadStatementsFile,
@@ -71,19 +73,19 @@ public class RyaClient {
         this.install = requireNonNull(install);
         this.createPcj = requireNonNull(createPcj);
         this.deletePcj = requireNonNull(deletePcj);
-        this.createPeriodicPcj = createPeriodicPcj;
-        this.deletePeriodicPcj = deletePeriodicPcj;
-        this.listIncrementalQueries = listIncrementalQueries;
-        this.bactchUpdatePCJ = batchUpdatePcj;
+        this.createPeriodicPcj = requireNonNull(createPeriodicPcj);
+        this.deletePeriodicPcj = requireNonNull(deletePeriodicPcj);
+        this.listIncrementalQueries = requireNonNull(listIncrementalQueries);
+        this.bactchUpdatePCJ = requireNonNull(batchUpdatePcj);
         this.getInstanceDetails = requireNonNull(getInstanceDetails);
         this.instanceExists = requireNonNull(instanceExists);
         this.listInstances = requireNonNull(listInstances);
-        this.addUser = addUser;
-        this.removeUser = removeUser;
+        this.addUser = requireNonNull(addUser);
+        this.removeUser = requireNonNull(removeUser);
         this.uninstall = requireNonNull(uninstall);
-        this.loadStatements = loadStatements; // FIXME requireNonNull(loadStatements);
-        this.loadStatementsFile = loadStatementsFile; // FIXME requireNonNull(loadStatementsFile);
-        this.executeSparqlQuery = executeSparqlQuery; // FIXME requireNonNull(executeSparqlQuery);
+        this.loadStatements = loadStatements;
+        this.loadStatementsFile = loadStatementsFile;
+        this.executeSparqlQuery = executeSparqlQuery;
     }
 
     /**
@@ -97,7 +99,7 @@ public class RyaClient {
      * @return An instance of {@link CreatePCJ} that is connected to a Rya storage
      *   if the Rya instance supports PCJ indexing.
      */
-    public CreatePCJ getCreatePCJ() {
+    public Optional<CreatePCJ> getCreatePCJ() {
         return createPcj;
     }
 
@@ -105,21 +107,21 @@ public class RyaClient {
      * @return An instance of {@link DeletePCJ} that is connected to a Rya storage
      *   if the Rya instance supports PCJ indexing.
      */
-    public DeletePCJ getDeletePCJ() {
+    public Optional<DeletePCJ> getDeletePCJ() {
         return deletePcj;
     }
 
     /**
      * @return An instance of {@link CreatePeridodicPCJ} that is connected to a Rya Periodic Storage
      */
-    public CreatePeriodicPCJ getCreatePeriodicPCJ() {
+    public Optional<CreatePeriodicPCJ> getCreatePeriodicPCJ() {
         return createPeriodicPcj;
     }
 
     /**
      * @return An instance of {@link DeletePeriodicPCJ} that is connected to a Rya Periodic Storage
      */
-    public DeletePeriodicPCJ getDeletePeriodicPCJ() {
+    public Optional<DeletePeriodicPCJ> getDeletePeriodicPCJ() {
         return deletePeriodicPcj;
     }
 
@@ -127,7 +129,7 @@ public class RyaClient {
      * @return An instance of {@link ListIncrementalQueries} for displaying queries that are incrementallly
      * maintained by the Rya instance
      */
-    public ListIncrementalQueries getListIncrementalQueries() {
+    public Optional<ListIncrementalQueries> getListIncrementalQueries() {
         return listIncrementalQueries;
     }
 
@@ -135,7 +137,7 @@ public class RyaClient {
      * @return An instance of {@link BatchUpdatePCJ} that is connect to a Rya storage
      *   if the Rya instance supports PCJ indexing.
      */
-    public BatchUpdatePCJ getBatchUpdatePCJ() {
+    public Optional<BatchUpdatePCJ> getBatchUpdatePCJ() {
         return bactchUpdatePCJ;
     }
 
@@ -163,14 +165,14 @@ public class RyaClient {
     /**
      * @return An instance of {@link AddUser} that is connected to a Rya storage.
      */
-    public AddUser getAddUser() {
+    public Optional<AddUser> getAddUser() {
         return addUser;
     }
 
     /**
      * @return An instance of {@link DeleteUser} that is connected to a Rya storage.
      */
-    public RemoveUser getRemoveUser() {
+    public Optional<RemoveUser> getRemoveUser() {
         return removeUser;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloRyaClientFactory.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloRyaClientFactory.java b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloRyaClientFactory.java
index fcc712c..f9df491 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloRyaClientFactory.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/accumulo/AccumuloRyaClientFactory.java
@@ -20,6 +20,8 @@ package org.apache.rya.api.client.accumulo;
 
 import static java.util.Objects.requireNonNull;
 
+import java.util.Optional;
+
 import org.apache.accumulo.core.client.Connector;
 import org.apache.rya.api.client.RyaClient;
 
@@ -50,17 +52,17 @@ public class AccumuloRyaClientFactory {
         // Build the RyaCommands option with the initialized commands.
         return new RyaClient(
                 new AccumuloInstall(connectionDetails, connector),
-                new AccumuloCreatePCJ(connectionDetails, connector),
-                new AccumuloDeletePCJ(connectionDetails, connector),
-                new AccumuloCreatePeriodicPCJ(connectionDetails, connector),
-                new AccumuloDeletePeriodicPCJ(connectionDetails, connector),
-                new AccumuloListIncrementalQueries(connectionDetails, connector),
-                new AccumuloBatchUpdatePCJ(connectionDetails, connector),
+                Optional.of(new AccumuloCreatePCJ(connectionDetails, connector)),
+                Optional.of(new AccumuloDeletePCJ(connectionDetails, connector)),
+                Optional.of(new AccumuloCreatePeriodicPCJ(connectionDetails, connector)),
+                Optional.of(new AccumuloDeletePeriodicPCJ(connectionDetails, connector)),
+                Optional.of(new AccumuloListIncrementalQueries(connectionDetails, connector)),
+                Optional.of(new AccumuloBatchUpdatePCJ(connectionDetails, connector)),
                 new AccumuloGetInstanceDetails(connectionDetails, connector),
                 new AccumuloInstanceExists(connectionDetails, connector),
                 new AccumuloListInstances(connectionDetails, connector),
-                new AccumuloAddUser(connectionDetails, connector),
-                new AccumuloRemoveUser(connectionDetails, connector),
+                Optional.of(new AccumuloAddUser(connectionDetails, connector)),
+                Optional.of(new AccumuloRemoveUser(connectionDetails, connector)),
                 new AccumuloUninstall(connectionDetails, connector),
                 new AccumuloLoadStatements(connectionDetails, connector),
                 new AccumuloLoadStatementsFile(connectionDetails, connector),

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCommand.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCommand.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCommand.java
index 24bae95..443fec7 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCommand.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCommand.java
@@ -38,11 +38,8 @@ public abstract class MongoCommand {
     /**
      * Constructs an instance of {@link MongoCommand}.
      *
-     * Details about the values that were used to create the client. (not null)
-     * 
-     * @param client
-     *            - Provides programatic access to the instance of Mongo
-     *            that hosts Rya instance. (not null)
+     * @param connectionDetails - Details about the values that were used to create the client. (not null)
+     * @param client - Provides programmatic access to the instance of Mongo that hosts Rya instance. (not null)
      */
     public MongoCommand(final MongoConnectionDetails connectionDetails, final MongoClient client) {
         this.connectionDetails = requireNonNull(connectionDetails);
@@ -50,14 +47,14 @@ public abstract class MongoCommand {
     }
 
     /**
-     * @return Details about the values that were used to create the connector to mongo. (not null)
+     * @return Details about the values that were used to create the connector to mongo.
      */
     public MongoConnectionDetails getMongoConnectionDetails() {
         return connectionDetails;
     }
 
     /**
-     * @return Provides programatic access to the instance of Mongo that hosts Rya instance.
+     * @param client - Provides programmatic access to the instance of Mongo that hosts Rya instance.
      */
     public MongoClient getClient() {
         return client;

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoConnectionDetails.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoConnectionDetails.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoConnectionDetails.java
index 16e0453..f05b38d 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoConnectionDetails.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoConnectionDetails.java
@@ -20,74 +20,93 @@ package org.apache.rya.api.client.mongo;
 
 import static java.util.Objects.requireNonNull;
 
-import org.apache.rya.accumulo.AccumuloRdfConfiguration;
+import org.apache.rya.api.RdfCloudTripleStoreConfiguration;
+import org.apache.rya.indexing.accumulo.ConfigUtils;
 import org.apache.rya.mongodb.MongoDBRdfConfiguration;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
+/**
+ * The information the shell used to connect to Mongo DB.
+ */
+@DefaultAnnotation(NonNull.class)
 public class MongoConnectionDetails {
-    private String username;
-    private char[] userPass;
-    private String instance;
-    private String host;
-    private String collectionName;
 
-    public MongoConnectionDetails(String username, char[] userPass, String instance, String host, String ryaInstance) {
-        this.username = username;
-        this.userPass = userPass.clone();
-        this.instance = instance;
-        this.host = host;
-        this.collectionName = requireNonNull(ryaInstance);
+    private final String username;
+    private final char[] userPass;
+    private final String hostname;
+    private final int port;
+
+    /**
+     * Constructs an instance of {@link MongoConnectionDetails}.
+     *
+     * @param username - The username that was used to establish the connection. (not null)
+     * @param password - The password that was used to establish the connection. (not null)
+     * @param hostname - The hostname of the Mongo DB that was connected to. (not null)
+     * @param port - The port of the Mongo DB that was connected to. (not null)
+     */
+    public MongoConnectionDetails(
+            final String username,
+            final char[] userPass,
+            final String hostname,
+            final int port) {
+        this.username = requireNonNull(username);
+        this.userPass = requireNonNull(userPass);
+        this.hostname = requireNonNull(hostname);
+        this.port = port;
     }
 
     /**
-     * @return the username
+     * @return The username that was used to establish the connection.
      */
     public String getUsername() {
         return this.username;
     }
 
     /**
-     * @return the password
+     * @return The password that was used to establish the connection.
      */
     public char[] getPassword() {
         return this.userPass;
     }
 
     /**
-     * @return the instance
+     * @return The hostname of the Mongo DB that was connected to.
      */
-    public String getInstance() {
-        return instance;
+    public String getHostname() {
+        return hostname;
     }
 
     /**
-     * @return the host AKA MongoInstance
+     * @return The port of the Mongo DB that was connected to.
      */
-    public String getHost() {
-        return host;
-    }
-    /**
-     * @return The Collection/Rya Prefix/Rya instance that was used to establish the connection.
-     */
-    public String getCollectionName() {
-        return collectionName;
+    public int getPort() {
+        return port;
     }
 
     /**
+     * Create a {@link MongoDBRdfConfiguration} that is using this object's values.
      *
-     * @param ryaInstanceName
-     *            - The Rya instance to connect to.
-     * @return Constructs a new {@link AccumuloRdfConfiguration} object with values from this object.
+     * @param ryaInstanceName - The Rya instance to connect to.
+     * @return Constructs a new {@link MongoDBRdfConfiguration} object with values from this object.
      */
     public MongoDBRdfConfiguration build(final String ryaInstanceName) {
-
         // Note, we don't use the MongoDBRdfConfigurationBuilder here because it explicitly sets
         // authorizations and visibilities to an empty string if they are not set on the builder.
         // If they are null in the MongoRdfConfiguration object, it may do the right thing.
         final MongoDBRdfConfiguration conf = new MongoDBRdfConfiguration();
-        conf.setMongoInstance(host);
-        conf.setCollectionName(ryaInstanceName);
+        conf.setBoolean(ConfigUtils.USE_MONGO, true);
+        conf.setMongoInstance(hostname);
+        conf.setMongoPort("" + port);
         conf.setMongoUser(username);
         conf.setMongoPassword(new String(userPass));
+        conf.setMongoDBName(ryaInstanceName);
+
+        // Both of these are ways to configure the collection prefixes.
+        conf.setCollectionName(ryaInstanceName);
+        conf.set(RdfCloudTripleStoreConfiguration.CONF_TBL_PREFIX, ryaInstanceName);
+
         return conf;
     }
-
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCreatePCJ.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCreatePCJ.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCreatePCJ.java
deleted file mode 100644
index 30d0f14..0000000
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoCreatePCJ.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rya.api.client.mongo;
-
-import java.util.Set;
-
-import org.apache.rya.api.client.CreatePCJ;
-import org.apache.rya.api.client.InstanceDoesNotExistException;
-import org.apache.rya.api.client.RyaClientException;
-
-import com.mongodb.MongoClient;
-
-import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
-import edu.umd.cs.findbugs.annotations.NonNull;
-
-/**
- * An Mongo implementation of the {@link CreatePCJ} command.
- */
-@DefaultAnnotation(NonNull.class)
-public class MongoCreatePCJ extends MongoCommand implements CreatePCJ {
-
-    /**
-     * Constructs an instance of {@link MongoCreatePCJ}.
-     *
-     * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param client - Provides programatic access to the instance of Mongo
-     *   that hosts Rya instance. (not null)
-     */
-    public MongoCreatePCJ(final MongoConnectionDetails connectionDetails, final MongoClient client) {
-        super(connectionDetails, client);
-    }
-
-    @Override
-    public String createPCJ(final String instanceName, final String sparql) throws InstanceDoesNotExistException {
-        throw new UnsupportedOperationException("Mongo does not support PCJ indexing.");
-    }
-
-    @Override
-    public String createPCJ(String instanceName, String sparql, Set<ExportStrategy> strategies) throws InstanceDoesNotExistException, RyaClientException {
-        throw new UnsupportedOperationException("Mongo does not support PCJ indexing.");
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoDeletePCJ.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoDeletePCJ.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoDeletePCJ.java
deleted file mode 100644
index 6e16bf0..0000000
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoDeletePCJ.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.rya.api.client.mongo;
-
-import org.apache.rya.api.client.DeletePCJ;
-import org.apache.rya.api.client.InstanceDoesNotExistException;
-import org.apache.rya.api.client.RyaClientException;
-
-import com.mongodb.MongoClient;
-
-import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
-import edu.umd.cs.findbugs.annotations.NonNull;
-
-/**
- * An Mongo implementation of the {@link DeletePCJ} command.
- */
-@DefaultAnnotation(NonNull.class)
-public class MongoDeletePCJ extends MongoCommand implements DeletePCJ {
-
-    /**
-     * Constructs an instance of {@link MongoDeletePCJ}.
-     *
-     * @param connectionDetails Details about the values that were used to create the connector to the cluster. (not null)
-     * @param client Provides programatic access to the instance of Mongo
-     *            that hosts Rya instance. (not null)
-     */
-    public MongoDeletePCJ(final MongoConnectionDetails connectionDetails, final MongoClient client) {
-        super(connectionDetails, client);
-    }
-
-    @Override
-    public void deletePCJ(final String instanceName, final String pcjId) throws InstanceDoesNotExistException, RyaClientException {
-        throw new UnsupportedOperationException("Mongo does not support PCJ Indexing.");
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java
new file mode 100644
index 0000000..f51d42d
--- /dev/null
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQuery.java
@@ -0,0 +1,56 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rya.api.client.mongo;
+
+import static java.util.Objects.requireNonNull;
+
+import org.apache.rya.api.client.ExecuteSparqlQuery;
+import org.apache.rya.api.client.InstanceDoesNotExistException;
+import org.apache.rya.api.client.RyaClientException;
+
+import com.mongodb.MongoClient;
+
+import edu.umd.cs.findbugs.annotations.DefaultAnnotation;
+import edu.umd.cs.findbugs.annotations.NonNull;
+
+/**
+ * TODO impl, test, doc
+ */
+@DefaultAnnotation(NonNull.class)
+public class MongoExecuteSparqlQuery extends MongoCommand implements ExecuteSparqlQuery {
+
+    /**
+     * Constructs an instance of {@link }.
+     *
+     * @param connectionDetails - Details about the values that were used to create the client. (not null)
+     * @param connector - Provides programmatic access to the instance of Mongo that hosts Rya instances. (not null)
+     */
+    public MongoExecuteSparqlQuery(final MongoConnectionDetails connectionDetails, final MongoClient client) {
+        super(connectionDetails, client);
+    }
+
+    @Override
+    public String executeSparqlQuery(final String ryaInstanceName, final String sparqlQuery) throws InstanceDoesNotExistException, RyaClientException {
+        requireNonNull(ryaInstanceName);
+        requireNonNull(sparqlQuery);
+
+        // TODO Auto-generated method stub
+        return null;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetails.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetails.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetails.java
index 1bfa97a..b61e107 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetails.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetails.java
@@ -47,11 +47,8 @@ public class MongoGetInstanceDetails extends MongoCommand implements GetInstance
     /**
      * Constructs an instance of {@link MongoGetInstanceDetails}.
      *
-     * @param connectionDetails
-     *            - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param client
-     *            - Provides programatic access to the instance of Mongo
-     *            that hosts Rya instance. (not null)
+     * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
+     * @param connector - Provides programmatic access to the instance of Mongo that hosts Rya instances. (not null)
      */
     public MongoGetInstanceDetails(final MongoConnectionDetails connectionDetails, final MongoClient client) {
         super(connectionDetails, client);

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java
index 2766536..bcd79f6 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstall.java
@@ -22,7 +22,6 @@ import static java.util.Objects.requireNonNull;
 
 import java.util.Date;
 
-import org.apache.rya.api.RdfCloudTripleStoreConfiguration;
 import org.apache.rya.api.client.Install;
 import org.apache.rya.api.client.InstanceExists;
 import org.apache.rya.api.client.RyaClientException;
@@ -42,6 +41,8 @@ import org.apache.rya.indexing.accumulo.ConfigUtils;
 import org.apache.rya.mongodb.MongoDBRdfConfiguration;
 import org.apache.rya.mongodb.MongoDBRyaDAO;
 import org.apache.rya.mongodb.instance.MongoRyaInstanceDetailsRepository;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Optional;
 import com.mongodb.MongoClient;
@@ -55,16 +56,15 @@ import edu.umd.cs.findbugs.annotations.NonNull;
 @DefaultAnnotation(NonNull.class)
 public class MongoInstall extends MongoCommand implements Install {
 
+    private static final Logger log = LoggerFactory.getLogger(MongoInstall.class);
+
     private final InstanceExists instanceExists;
 
     /**
      * Constructs an instance of {@link MongoInstall}.
      *
-     * @param connectionDetails
-     *            - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param client
-     *            - Provides programatic access to the instance of Mongo
-     *            that hosts Rya instance. (not null)
+     * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
+     * @param connector - Provides programmatic access to the instance of Mongo that hosts Rya instances. (not null)
      */
     public MongoInstall(final MongoConnectionDetails connectionDetails, final MongoClient client) {
         super(connectionDetails, client);
@@ -121,39 +121,40 @@ public class MongoInstall extends MongoCommand implements Install {
     /**
      * Initializes the {@link RyaDetails} and stores them for the new instance.
      *
-     * @param instanceName
-     *            - The name of the instance that is being created. (not null)
-     * @param installConfig
-     *            - The instance's install configuration. (not null)
+     * @param instanceName - The name of the instance that is being created. (not null)
+     * @param installConfig - The instance's install configuration. (not null)
      * @return The {@link RyaDetails} that were stored.
-     * @throws AlreadyInitializedException
-     *             Could not be initialized because
-     *             a table with this instance name has already exists and is holding the details.
-     * @throws RyaDetailsRepositoryException
-     *             Something caused the initialization
-     *             operation to fail.
+     * @throws AlreadyInitializedException Could not be initialized because a table with this instance name has already
+     *   exists and is holding the details.
+     * @throws RyaDetailsRepositoryException Something caused the initialization operation to fail.
      */
-    private RyaDetails initializeRyaDetails(final String instanceName, final InstallConfiguration installConfig) throws AlreadyInitializedException, RyaDetailsRepositoryException {
+    private RyaDetails initializeRyaDetails(
+            final String instanceName,
+            final InstallConfiguration installConfig) throws AlreadyInitializedException, RyaDetailsRepositoryException {
         final RyaDetailsRepository detailsRepo = new MongoRyaInstanceDetailsRepository(getClient(), instanceName);
 
         // Build the PCJ Index details. [not supported in mongo]
         final PCJIndexDetails.Builder pcjDetailsBuilder = PCJIndexDetails.builder().setEnabled(false);
 
         final RyaDetails details = RyaDetails.builder()
-                        // General Metadata
-                        .setRyaInstanceName(instanceName).setRyaVersion(getVersion())
+                // General Metadata
+                .setRyaInstanceName(instanceName).setRyaVersion(getVersion())
+
+                // FIXME RYA-215 .setGeoIndexDetails(new GeoIndexDetails(installConfig.isGeoIndexEnabled()))
+
+                // Secondary Index Values
+                .setTemporalIndexDetails(new TemporalIndexDetails(installConfig.isTemporalIndexEnabled()))
+                .setFreeTextDetails(new FreeTextIndexDetails(installConfig.isFreeTextIndexEnabled()))//
+
+                // Entity centric indexing is not supported in Mongo Db.
+                .setEntityCentricIndexDetails(new EntityCentricIndexDetails(false))
 
-                        // Secondary Index Values
-                        // FIXME .setGeoIndexDetails(new GeoIndexDetails(installConfig.isGeoIndexEnabled()))
-                        .setTemporalIndexDetails(new TemporalIndexDetails(installConfig.isTemporalIndexEnabled())) //
-                        .setFreeTextDetails(new FreeTextIndexDetails(installConfig.isFreeTextIndexEnabled()))//
-                        .setEntityCentricIndexDetails(new EntityCentricIndexDetails(false))// not supported in mongo
-                        .setPCJIndexDetails(pcjDetailsBuilder)
+                .setPCJIndexDetails(pcjDetailsBuilder)
 
-                        // Statistics values.
-                        .setProspectorDetails(new ProspectorDetails(Optional.<Date> absent()))//
-                        .setJoinSelectivityDetails(new JoinSelectivityDetails(Optional.<Date> absent()))//
-                        .build();
+                // Statistics values.
+                .setProspectorDetails(new ProspectorDetails(Optional.<Date> absent()))//
+                .setJoinSelectivityDetails(new JoinSelectivityDetails(Optional.<Date> absent()))//
+                .build();
 
         // Initialize the table.
         detailsRepo.initialize(details);
@@ -165,30 +166,34 @@ public class MongoInstall extends MongoCommand implements Install {
      * Builds a {@link MongoRdfConfiguration} object that will be used by the
      * Rya DAO to initialize all of the tables it will need.
      *
-     * @param connectionDetails
-     *            - Indicates how to connect to Mongo. (not null)
-     * @param details
-     *            - Indicates what needs to be installed. (not null)
+     * @param connectionDetails - Indicates how to connect to Mongo. (not null)
+     * @param ryaDetails - Indicates what needs to be installed. (not null)
      * @return A Rya Configuration object that can be used to perform the install.
      */
-    private static MongoDBRdfConfiguration makeRyaConfig(final MongoConnectionDetails connectionDetails, final RyaDetails details) {
-        final MongoDBRdfConfiguration conf = new MongoDBRdfConfiguration();
-        conf.setBoolean(ConfigUtils.USE_MONGO, true);
-        // The Rya Instance Name is used as a prefix for the index tables in Mongo.
-        conf.set(RdfCloudTripleStoreConfiguration.CONF_TBL_PREFIX, details.getRyaInstanceName());
-
-        // Enable the indexers that the instance is configured to use.
-        conf.set(ConfigUtils.USE_PCJ, "" + details.getPCJIndexDetails().isEnabled());
-        // fixme conf.set(OptionalConfigUtils.USE_GEO, "" + details.getGeoIndexDetails().isEnabled() );
-        conf.set(ConfigUtils.USE_FREETEXT, "" + details.getFreeTextIndexDetails().isEnabled());
-        conf.set(ConfigUtils.USE_TEMPORAL, "" + details.getTemporalIndexDetails().isEnabled());
+    private static MongoDBRdfConfiguration makeRyaConfig(final MongoConnectionDetails connectionDetails, final RyaDetails ryaDetails) {
+        // Start with a configuration that is built using the connection details.
+        final MongoDBRdfConfiguration conf = connectionDetails.build(ryaDetails.getRyaInstanceName());
+
+        // The Mongo implementation of Rya does not currently support PCJs.
+        if(ryaDetails.getPCJIndexDetails().isEnabled()) {
+            log.warn("The install configuration says to enable PCJ indexing, but Mongo RYA does not support that " +
+                    "feature. Ignoring this configuration.");
+        }
+        conf.set(ConfigUtils.USE_PCJ, "false");
 
         // Mongo does not support entity indexing.
-        conf.set(ConfigUtils.USE_ENTITY, "" + false);
+        if(ryaDetails.getEntityCentricIndexDetails().isEnabled()) {
+            log.warn("The install configuration says to enable Entity Centric indexing, but Mongo RYA does not support " +
+                    "that feature. Ignoring this configuration.");
+        }
+        conf.set(ConfigUtils.USE_ENTITY, "false");
+
+        // FIXME RYA-215 We haven't enabled geo indexing in the console yet.
+        //conf.set(OptionalConfigUtils.USE_GEO, "" + details.getGeoIndexDetails().isEnabled() );
 
-        conf.set(ConfigUtils.CLOUDBASE_USER, connectionDetails.getUsername());
-        conf.set(ConfigUtils.CLOUDBASE_PASSWORD, new String(connectionDetails.getPassword()));
-        conf.set(MongoDBRdfConfiguration.MONGO_DB_NAME, details.getRyaInstanceName());
+        // Enable the supported indexers that the instance is configured to use.
+        conf.set(ConfigUtils.USE_FREETEXT, "" + ryaDetails.getFreeTextIndexDetails().isEnabled());
+        conf.set(ConfigUtils.USE_TEMPORAL, "" + ryaDetails.getTemporalIndexDetails().isEnabled());
 
         // This initializes the living indexers that will be used by the application and
         // caches them within the configuration object so that they may be used later.

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstanceExists.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstanceExists.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstanceExists.java
index 2560856..a00079a 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstanceExists.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoInstanceExists.java
@@ -21,7 +21,6 @@ package org.apache.rya.api.client.mongo;
 import static java.util.Objects.requireNonNull;
 
 import org.apache.rya.api.client.InstanceExists;
-import org.apache.rya.api.client.RyaClientException;
 
 import com.mongodb.MongoClient;
 
@@ -38,8 +37,7 @@ public class MongoInstanceExists extends MongoCommand implements InstanceExists
      * Constructs an insatnce of {@link MongoInstanceExists}.
      *
      * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param client - Provides programatic access to the instance of Mongo
-     *   that hosts Rya instance. (not null)
+     * @param connector - Provides programmatic access to the instance of Mongo that hosts Rya instances. (not null)
      */
     public MongoInstanceExists(final MongoConnectionDetails connectionDetails, final MongoClient client) {
         super(connectionDetails, client);
@@ -48,6 +46,11 @@ public class MongoInstanceExists extends MongoCommand implements InstanceExists
     @Override
     public boolean exists(final String instanceName) {
         requireNonNull( instanceName );
-        return super.getClient().getDatabaseNames().contains(instanceName);
+        for(final String dbName : getClient().listDatabaseNames()) {
+            if(dbName.equals(instanceName)) {
+                return true;
+            }
+        }
+        return false;
     }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoListInstances.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoListInstances.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoListInstances.java
index d301bf2..bf29848 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoListInstances.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoListInstances.java
@@ -20,7 +20,6 @@ package org.apache.rya.api.client.mongo;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.rya.api.client.ListInstances;
 import org.apache.rya.api.client.RyaClientException;
@@ -39,11 +38,8 @@ public class MongoListInstances extends MongoCommand implements ListInstances {
     /**
      * Constructs an instance of {@link MongoListInstances}.
      *
-     * @param connectionDetails
-     *            - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param client
-     *            - Provides programatic access to the instance of Mongo
-     *            that hosts Rya instance. (not null)
+     * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
+     * @param connector - Provides programmatic access to the instance of Mongo that hosts Rya instances. (not null)
      */
     public MongoListInstances(final MongoConnectionDetails connectionDetails, final MongoClient client) {
         super(connectionDetails, client);
@@ -52,12 +48,12 @@ public class MongoListInstances extends MongoCommand implements ListInstances {
     @Override
     public List<String> listInstances() throws RyaClientException {
         final MongoClient client = super.getClient();
-        final List<String> dbNames = client.getDatabaseNames();
+
+        // Each database that contains an instance details collection is a Rya Instance.
         final List<String> ryaInstances = new ArrayList<>();
-        for (final String db : dbNames) {
-            final Set<String> collNames = client.getDB(db).getCollectionNames();
-            for (final String coll : collNames) {
-                if (coll.equals(MongoRyaInstanceDetailsRepository.INSTANCE_DETAILS_COLLECTION_NAME)) {
+        for (final String db : getClient().listDatabaseNames()) {
+            for(final String collection : client.getDatabase(db).listCollectionNames()) {
+                if (collection.equals(MongoRyaInstanceDetailsRepository.INSTANCE_DETAILS_COLLECTION_NAME)) {
                     ryaInstances.add(db);
                     break;
                 }

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoRyaClientFactory.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoRyaClientFactory.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoRyaClientFactory.java
index 4ea3487..f4d68e7 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoRyaClientFactory.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoRyaClientFactory.java
@@ -20,6 +20,8 @@ package org.apache.rya.api.client.mongo;
 
 import static java.util.Objects.requireNonNull;
 
+import java.util.Optional;
+
 import org.apache.rya.api.client.RyaClient;
 
 import com.mongodb.MongoClient;
@@ -38,29 +40,33 @@ public class MongoRyaClientFactory {
      * Initialize a set of {@link RyaClient} that will interact with an instance of
      * Rya that is hosted by a MongoDB server.
      *
-     * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param connector - The MongoDB connector the commands will use. (not null)
+     * @param connectionDetails - Details about the values that were used to connect to Mongo DB. (not null)
+     * @param mongoClient - The MongoDB client the commands will use. (not null)
      * @return The initialized commands.
      */
     public static RyaClient build(
             final MongoConnectionDetails connectionDetails,
-            final MongoClient connector) {
+            final MongoClient mongoClient) {
         requireNonNull(connectionDetails);
-        requireNonNull(connector);
+        requireNonNull(mongoClient);
 
         // Build the RyaCommands option with the initialized commands.
-        return new RyaClient(//
-                        new MongoInstall(connectionDetails, connector), //
-                        new MongoCreatePCJ(connectionDetails, connector), //
-                        new MongoDeletePCJ(connectionDetails, connector), //
-                        null, null, null, null,
-                        new MongoGetInstanceDetails(connectionDetails, connector), //
-                        new MongoInstanceExists(connectionDetails, connector), //
-                        new MongoListInstances(connectionDetails, connector), //
-                        null, null,
-                        new MongoUninstall(connectionDetails, connector), //
-                        new MongoLoadStatements(connectionDetails, connector), //
-                        new MongoLoadStatementsFile(connectionDetails, connector), //
-                        null);// FIXME new MongoExecuteSparqlQuery(connectionDetails, connector));
+        return new RyaClient(
+                new MongoInstall(connectionDetails, mongoClient),
+                Optional.empty(),
+                Optional.empty(),
+                Optional.empty(),
+                Optional.empty(),
+                Optional.empty(),
+                Optional.empty(),
+                new MongoGetInstanceDetails(connectionDetails, mongoClient),
+                new MongoInstanceExists(connectionDetails, mongoClient),
+                new MongoListInstances(connectionDetails, mongoClient),
+                Optional.empty(),
+                Optional.empty(),
+                new MongoUninstall(connectionDetails, mongoClient),
+                new MongoLoadStatements(connectionDetails, mongoClient),
+                new MongoLoadStatementsFile(connectionDetails, mongoClient),
+                new MongoExecuteSparqlQuery(connectionDetails, mongoClient));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoUninstall.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoUninstall.java b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoUninstall.java
index b3988b8..979f93d 100644
--- a/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoUninstall.java
+++ b/extras/indexing/src/main/java/org/apache/rya/api/client/mongo/MongoUninstall.java
@@ -19,6 +19,7 @@
 package org.apache.rya.api.client.mongo;
 
 import org.apache.rya.api.client.InstanceDoesNotExistException;
+import org.apache.rya.api.client.InstanceExists;
 import org.apache.rya.api.client.RyaClientException;
 import org.apache.rya.api.client.Uninstall;
 
@@ -34,23 +35,23 @@ import edu.umd.cs.findbugs.annotations.NonNull;
 @DefaultAnnotation(NonNull.class)
 public class MongoUninstall extends MongoCommand implements Uninstall {
 
+    private final InstanceExists instanceExists;
+
     /**
      * Constructs an instance of {@link MongoUninstall}.
      *
-     * @param connectionDetails
-     *            - Details about the values that were used to create the connector to the cluster. (not null)
-     * @param connector
-     *            - Provides programatic access to the instance of Mongo
-     *            that hosts Rya instance. (not null)
+     * @param connectionDetails - Details about the values that were used to create the connector to the cluster. (not null)
+     * @param connector - Provides programmatic access to the instance of Mongo that hosts Rya instances. (not null)
      */
     public MongoUninstall(final MongoConnectionDetails connectionDetails, final MongoClient client) {
         super(connectionDetails, client);
+        instanceExists = new MongoInstanceExists(connectionDetails, client);
     }
 
     @Override
     public void uninstall(final String ryaInstanceName) throws InstanceDoesNotExistException, RyaClientException {
         try {
-            if (!getClient().getDatabaseNames().contains(ryaInstanceName)) {
+            if (!instanceExists.exists(ryaInstanceName)) {
                 throw new InstanceDoesNotExistException("The database '" + ryaInstanceName + "' does not exist.");
             }
             getClient().dropDatabase(ryaInstanceName);

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloAddUserIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloAddUserIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloAddUserIT.java
index 787d110..10d24d1 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloAddUserIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloAddUserIT.java
@@ -46,7 +46,7 @@ import com.google.common.collect.ImmutableList;
  */
 public class AccumuloAddUserIT extends AccumuloITBase {
 
-    private String ADMIN_USER = testInstance.createUniqueUser();
+    private final String ADMIN_USER = testInstance.createUniqueUser();
 
     @Before
     public void beforeClass() throws Exception {
@@ -92,7 +92,7 @@ public class AccumuloAddUserIT extends AccumuloITBase {
      */
     @Test
     public void userAddedAlsoAddedToRyaDetails() throws Exception {
-        String user = testInstance.createUniqueUser();
+        final String user = testInstance.createUniqueUser();
         final SecurityOperations secOps = super.getConnector().securityOperations();
 
         final RyaClient userAClient = AccumuloRyaClientFactory.build(
@@ -106,7 +106,7 @@ public class AccumuloAddUserIT extends AccumuloITBase {
         userAClient.getInstall().install(getRyaInstanceName(), InstallConfiguration.builder().build());
 
         // Add the user.
-        userAClient.getAddUser().addUser(getRyaInstanceName(), user);
+        userAClient.getAddUser().get().addUser(getRyaInstanceName(), user);
 
         // Ensure the Rya instance's details have been updated to include the added user.
         final ImmutableList<String> expectedUsers = ImmutableList.<String>builder()
@@ -123,7 +123,7 @@ public class AccumuloAddUserIT extends AccumuloITBase {
      */
     @Test
     public void userNotAddedCanNotInsert() throws Exception {
-        String user = testInstance.createUniqueUser();
+        final String user = testInstance.createUniqueUser();
         final SecurityOperations secOps = super.getConnector().securityOperations();
 
         final RyaClient userAClient = AccumuloRyaClientFactory.build(
@@ -171,7 +171,7 @@ public class AccumuloAddUserIT extends AccumuloITBase {
      */
     @Test
     public void userAddedCanInsert() throws Exception {
-        String user = testInstance.createUniqueUser();
+        final String user = testInstance.createUniqueUser();
         final SecurityOperations secOps = super.getConnector().securityOperations();
 
         final RyaClient userAClient = AccumuloRyaClientFactory.build(
@@ -185,7 +185,7 @@ public class AccumuloAddUserIT extends AccumuloITBase {
         userAClient.getInstall().install(getRyaInstanceName(), InstallConfiguration.builder().build());
 
         // Add the user.
-        userAClient.getAddUser().addUser(getRyaInstanceName(), user);
+        userAClient.getAddUser().get().addUser(getRyaInstanceName(), user);
 
         // Try to add a statement to the Rya instance. This should succeed.
         Sail sail = null;
@@ -216,7 +216,7 @@ public class AccumuloAddUserIT extends AccumuloITBase {
      */
     @Test
     public void addUserTwice() throws Exception {
-        String user = testInstance.createUniqueUser();
+        final String user = testInstance.createUniqueUser();
         final SecurityOperations secOps = super.getConnector().securityOperations();
 
         final RyaClient userAClient = AccumuloRyaClientFactory.build(
@@ -230,8 +230,8 @@ public class AccumuloAddUserIT extends AccumuloITBase {
         userAClient.getInstall().install(getRyaInstanceName(), InstallConfiguration.builder().build());
 
         // Add the user.
-        userAClient.getAddUser().addUser(getRyaInstanceName(), user);
-        userAClient.getAddUser().addUser(getRyaInstanceName(), user);
+        userAClient.getAddUser().get().addUser(getRyaInstanceName(), user);
+        userAClient.getAddUser().get().addUser(getRyaInstanceName(), user);
 
         // Ensure the Rya instance's details only contain the username of the user who installed the instance.
         final ImmutableList<String> expectedUsers = ImmutableList.<String>builder()

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloBatchUpdatePCJIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloBatchUpdatePCJIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloBatchUpdatePCJIT.java
index 5a2e69d..40941c8 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloBatchUpdatePCJIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloBatchUpdatePCJIT.java
@@ -107,7 +107,7 @@ public class AccumuloBatchUpdatePCJIT extends AccumuloITBase {
             final String pcjId = pcjStorage.createPcj(sparql);
 
             // Run the test.
-            ryaClient.getBatchUpdatePCJ().batchUpdate(RYA_INSTANCE_NAME, pcjId);
+            ryaClient.getBatchUpdatePCJ().get().batchUpdate(RYA_INSTANCE_NAME, pcjId);
 
             // Verify the correct results were loaded into the PCJ table.
             final Set<BindingSet> expectedResults = new HashSet<>();

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloRemoveUserIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloRemoveUserIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloRemoveUserIT.java
index f6ec5da..224f70d 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloRemoveUserIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/accumulo/AccumuloRemoveUserIT.java
@@ -49,14 +49,14 @@ public class AccumuloRemoveUserIT extends AccumuloITBase {
      */
     @Test
     public void removedUserNotInDetails() throws Exception {
-        String adminUser = testInstance.createUniqueUser();
-        String user = testInstance.createUniqueUser();
+        final String adminUser = testInstance.createUniqueUser();
+        final String user = testInstance.createUniqueUser();
         final SecurityOperations secOps = super.getConnector().securityOperations();
 
         // Create the user that will install the instance of Rya.
         secOps.createLocalUser(adminUser, new PasswordToken(adminUser));
         secOps.grantSystemPermission(adminUser, SystemPermission.CREATE_TABLE);
-        
+
 
         final RyaClient userAClient = AccumuloRyaClientFactory.build(
                 new AccumuloConnectionDetails(adminUser, adminUser.toCharArray(), getInstanceName(), getZookeepers()),
@@ -73,10 +73,10 @@ public class AccumuloRemoveUserIT extends AccumuloITBase {
         userAClient.getInstall().install(getRyaInstanceName(), InstallConfiguration.builder().build());
 
         // Add userB.
-        userAClient.getAddUser().addUser(getRyaInstanceName(), user);
+        userAClient.getAddUser().get().addUser(getRyaInstanceName(), user);
 
         // Remove userA.
-        userBClient.getRemoveUser().removeUser(getRyaInstanceName(), adminUser);
+        userBClient.getRemoveUser().get().removeUser(getRyaInstanceName(), adminUser);
 
         // Ensure the Rya instance's details have been updated to include the added user.
         final ImmutableList<String> expectedUsers = ImmutableList.<String>builder()
@@ -92,8 +92,8 @@ public class AccumuloRemoveUserIT extends AccumuloITBase {
      */
     @Test
     public void removedUserCanNotInsert() throws Exception {
-        String adminUser = testInstance.createUniqueUser();
-        String user = testInstance.createUniqueUser();
+        final String adminUser = testInstance.createUniqueUser();
+        final String user = testInstance.createUniqueUser();
         final SecurityOperations secOps = super.getConnector().securityOperations();
 
         // Create the user that will install the instance of Rya.
@@ -115,10 +115,10 @@ public class AccumuloRemoveUserIT extends AccumuloITBase {
         userAClient.getInstall().install(getRyaInstanceName(), InstallConfiguration.builder().build());
 
         // Add userC.
-        userAClient.getAddUser().addUser(getRyaInstanceName(), user);
+        userAClient.getAddUser().get().addUser(getRyaInstanceName(), user);
 
         // Remove userA.
-        userCClient.getRemoveUser().removeUser(getRyaInstanceName(), adminUser);
+        userCClient.getRemoveUser().get().removeUser(getRyaInstanceName(), adminUser);
 
         // Show that userA can not insert anything.
         boolean securityExceptionThrown = false;

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQueryIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQueryIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQueryIT.java
new file mode 100644
index 0000000..787db2b
--- /dev/null
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoExecuteSparqlQueryIT.java
@@ -0,0 +1,26 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.rya.api.client.mongo;
+
+/**
+ * Integration tests the methods of {@link }.
+ */
+public class MongoExecuteSparqlQueryIT {
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetailsIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetailsIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetailsIT.java
index 843ba42..4c70eda 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetailsIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoGetInstanceDetailsIT.java
@@ -40,7 +40,6 @@ import org.apache.rya.mongodb.MongoTestBase;
 import org.junit.Test;
 
 import com.google.common.base.Optional;
-import com.mongodb.BasicDBObject;
 import com.mongodb.MongoException;
 
 /**
@@ -57,8 +56,7 @@ public class MongoGetInstanceDetailsIT extends MongoTestBase {
                 .setEnableEntityCentricIndex(true)
                 .setEnableFreeTextIndex(true)
                 .setEnableTemporalIndex(true)
-                .setEnableGeoIndex(true)
-                .setEnablePcjIndex(false)
+                .setEnablePcjIndex(true)
                 .build();
 
         final Install install = new MongoInstall(getConnectionDetails(), this.getMongoClient());
@@ -74,13 +72,18 @@ public class MongoGetInstanceDetailsIT extends MongoTestBase {
                 // The version depends on how the test is packaged, so just grab whatever was stored.
                 .setRyaVersion( details.get().getRyaVersion() )
 
-                        // FIXME .setGeoIndexDetails( new GeoIndexDetails(true) )
+                // The supported indices are set to true.
                 .setTemporalIndexDetails(new TemporalIndexDetails(true) )
                 .setFreeTextDetails( new FreeTextIndexDetails(true) )
+
+                // Entity Centric Index is not supported, so it flips to false.
                 .setEntityCentricIndexDetails( new EntityCentricIndexDetails(false) )
+
+                // PCJJ Index is not supported, so it flips to false.
                 .setPCJIndexDetails(
                         PCJIndexDetails.builder()
                             .setEnabled(false))
+
                 .setProspectorDetails( new ProspectorDetails(Optional.<Date>absent()) )
                 .setJoinSelectivityDetails( new JoinSelectivityDetails(Optional.<Date>absent()) )
                 .build();
@@ -99,25 +102,22 @@ public class MongoGetInstanceDetailsIT extends MongoTestBase {
         // Mimic a pre-details rya install.
         final String instanceName = "instance_name";
 
-        this.getMongoClient().getDB(instanceName).createCollection("rya_triples", new BasicDBObject());
+        this.getMongoClient().getDatabase(instanceName).createCollection("rya_triples");
 
         // Verify that the operation returns empty.
         final GetInstanceDetails getInstanceDetails = new MongoGetInstanceDetails(getConnectionDetails(), this.getMongoClient());
         final Optional<RyaDetails> details = getInstanceDetails.getDetails(instanceName);
         assertFalse( details.isPresent() );
     }
-    
+
     /**
      * @return copy from conf to MongoConnectionDetails
      */
     private MongoConnectionDetails getConnectionDetails() {
-        final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(
-                        conf.getMongoUser(), //
-                        conf.getMongoPassword().toCharArray(), //
-                        conf.getMongoDBName(), // aka instance
-                        conf.getMongoInstance(), // aka hostname
-                        conf.getCollectionName()
-        );
-        return connectionDetails;
+        return new MongoConnectionDetails(
+                conf.getMongoUser(),
+                conf.getMongoPassword().toCharArray(),
+                conf.getMongoInstance(),
+                Integer.parseInt( conf.getMongoPort() ));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstallIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstallIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstallIT.java
index e9dae1c..1ec7e9e 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstallIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstallIT.java
@@ -21,6 +21,7 @@ package org.apache.rya.api.client.mongo;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -29,58 +30,53 @@ import org.apache.rya.api.client.Install.DuplicateInstanceNameException;
 import org.apache.rya.api.client.Install.InstallConfiguration;
 import org.apache.rya.api.client.InstanceExists;
 import org.apache.rya.api.client.RyaClientException;
-import org.apache.rya.api.client.accumulo.AccumuloInstall;
 import org.apache.rya.mongodb.MongoTestBase;
 import org.junit.Test;
 
 /**
- * Integration tests the methods of {@link AccumuloInstall}.
+ * Integration tests the methods of {@link MongoInstall}.
  */
 public class MongoInstallIT extends MongoTestBase {
 
     @Test
     public void install() throws DuplicateInstanceNameException, RyaClientException {
         // Install an instance of Rya.
-        final String instanceName = conf.getCollectionName();
-        final InstallConfiguration installConfig = InstallConfiguration.builder()
-                .setEnableTableHashPrefix(false) //
-                .setEnableEntityCentricIndex(false)//
-                .setEnableFreeTextIndex(false)//
-                .setEnableTemporalIndex(false)//
-                .setEnablePcjIndex(false)//
-                .setEnableGeoIndex(false)//
-                .setFluoPcjAppName("fluo_app_name")//
-                .build();
+        final String ryaInstance = conf.getCollectionName();
 
+        // Setup the connection details that were used for the embedded Mongo DB instance we are testing with.
         final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(
-                        conf.getMongoUser(), //
-                        conf.getMongoPassword().toCharArray(), //
-                        conf.getMongoDBName(), // aka instance
-                        conf.getMongoInstance(), // aka hostname
-                        conf.getCollectionName()
-        );
+                conf.getMongoUser(),
+                conf.getMongoPassword().toCharArray(),
+                conf.getMongoInstance(),
+                Integer.parseInt( conf.getMongoPort() ));
 
         // Check that the instance does not exist.
-        assertFalse("Instance should NOT exist yet.", this.getMongoClient().getDatabaseNames().contains(instanceName));
         final InstanceExists instanceExists = new MongoInstanceExists(connectionDetails, this.getMongoClient());
-        assertFalse("Instance should NOT exist yet.", instanceExists.exists(instanceName));
+        assertFalse(instanceExists.exists(ryaInstance));
+
+        // Install an instance of Rya with all the valid options turned on.
+        final InstallConfiguration installConfig = InstallConfiguration.builder()
+                .setEnableTableHashPrefix(true)
+                .setEnableFreeTextIndex(true)
+                .setEnableTemporalIndex(true)
+                .build();
 
         final Install install = new MongoInstall(connectionDetails, this.getMongoClient());
-        install.install(instanceName, installConfig);
+        install.install(ryaInstance, installConfig);
 
         // Check that the instance exists.
-        assertTrue("Instance should exist.", this.getMongoClient().getDatabaseNames().contains(instanceName));
-        List<String> expected = Arrays.asList("instance_details", instanceName + "_triples");
+        assertTrue(instanceExists.exists(ryaInstance));
+
+        // Show that the expected collections were created within the database.
+        final List<String> expected = Arrays.asList("instance_details", ryaInstance + "_triples");
         int count = 0;
-        String found = "";
-        for (String collection : this.getMongoClient().getDatabase(instanceName).listCollectionNames())
-        {
-            System.out.println("Collection names:" + collection);
+        final List<String> found = new ArrayList<>();
+        for (final String collection : this.getMongoClient().getDatabase(ryaInstance).listCollectionNames()) {
             count += expected.contains(collection) ? 1 : 0;
-            found += ", " + collection;
+            found.add( collection );
         }
         assertTrue("Tables missing from:" + expected + " actual:" + found, expected.size() == count);
-        assertTrue("Instance should exist.", instanceExists.exists(instanceName));
+        assertTrue("Instance should exist.", instanceExists.exists(ryaInstance));
     }
 
     @Test(expected = DuplicateInstanceNameException.class)
@@ -89,12 +85,11 @@ public class MongoInstallIT extends MongoTestBase {
         final String instanceName = conf.getCollectionName();
         final InstallConfiguration installConfig = InstallConfiguration.builder().build();
 
-        final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(conf.getMongoUser(), //
-                        conf.getMongoPassword().toCharArray(), //
-                        conf.getMongoDBName(), // aka instance
-                        conf.getMongoInstance(), // aka hostname
-                        conf.getCollectionName()
-        );
+        final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(
+                conf.getMongoUser(),
+                conf.getMongoPassword().toCharArray(),
+                conf.getMongoInstance(),
+                Integer.parseInt( conf.getMongoPort() ));
 
         final Install install = new MongoInstall(connectionDetails, this.getMongoClient());
         install.install(instanceName, installConfig);

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstanceExistsIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstanceExistsIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstanceExistsIT.java
index 35568bc..6611f7f 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstanceExistsIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoInstanceExistsIT.java
@@ -22,17 +22,15 @@ import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import org.apache.accumulo.core.client.TableExistsException;
-import org.apache.rya.api.client.accumulo.AccumuloInstanceExists;
 import org.apache.rya.mongodb.MongoTestBase;
 import org.apache.rya.mongodb.instance.MongoRyaInstanceDetailsRepository;
 import org.junit.Test;
 
-import com.mongodb.BasicDBObject;
 import com.mongodb.MongoClient;
 import com.mongodb.MongoException;
 
 /**
- * Integration tests the methods of {@link AccumuloInstanceExists}.
+ * Integration tests the methods of {@link MongoInstanceExistsExists}.
  */
 public class MongoInstanceExistsIT extends MongoTestBase {
 
@@ -42,7 +40,7 @@ public class MongoInstanceExistsIT extends MongoTestBase {
 
         // Create the Rya instance's Rya details collection.
         final String instanceName = "test_instance_";
-        client.getDB(instanceName).createCollection(MongoRyaInstanceDetailsRepository.INSTANCE_DETAILS_COLLECTION_NAME, new BasicDBObject());
+        client.getDatabase(instanceName).createCollection(MongoRyaInstanceDetailsRepository.INSTANCE_DETAILS_COLLECTION_NAME);
 
         // Verify the command reports the instance exists.
         final MongoInstanceExists instanceExists = new MongoInstanceExists(getConnectionDetails(), client);
@@ -55,7 +53,7 @@ public class MongoInstanceExistsIT extends MongoTestBase {
 
         // Create the Rya instance's Rya triples collection.
         final String instanceName = "test_instance_";
-        client.getDB(instanceName).createCollection("rya_triples", new BasicDBObject());
+        client.getDatabase(instanceName).createCollection("rya_triples");
 
         // Verify the command reports the instance exists.
         final MongoInstanceExists instanceExists = new MongoInstanceExists(getConnectionDetails(), client);
@@ -73,14 +71,10 @@ public class MongoInstanceExistsIT extends MongoTestBase {
      * @return copy from conf to MongoConnectionDetails
      */
     private MongoConnectionDetails getConnectionDetails() {
-        final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(conf.getMongoUser(), //
-                        conf.getMongoPassword().toCharArray(), //
-                        conf.getMongoDBName(), // aka instance
-                        conf.getMongoInstance(), // aka hostname
-                        conf.getCollectionName()
-        );
-        return connectionDetails;
+        return new MongoConnectionDetails(
+                conf.getMongoUser(),
+                conf.getMongoPassword().toCharArray(),
+                conf.getMongoInstance(),
+                Integer.parseInt( conf.getMongoPort() ));
     }
-
-
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/e60da4c3/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoListInstancesIT.java
----------------------------------------------------------------------
diff --git a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoListInstancesIT.java b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoListInstancesIT.java
index 7d5a2fe..0e9f37e 100644
--- a/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoListInstancesIT.java
+++ b/extras/indexing/src/test/java/org/apache/rya/api/client/mongo/MongoListInstancesIT.java
@@ -60,12 +60,10 @@ public class MongoListInstancesIT extends MongoTestBase {
      * @return copy from conf to MongoConnectionDetails
      */
     private MongoConnectionDetails getConnectionDetails() {
-        final MongoConnectionDetails connectionDetails = new MongoConnectionDetails(conf.getMongoUser(), //
-                        conf.getMongoPassword().toCharArray(), //
-                        conf.getMongoDBName(), // aka instance
-                        conf.getMongoInstance(), // aka hostname
-                        conf.getCollectionName()
-        );
-        return connectionDetails;
+        return new MongoConnectionDetails(
+                conf.getMongoUser(),
+                conf.getMongoPassword().toCharArray(),
+                conf.getMongoInstance(),
+                Integer.parseInt( conf.getMongoPort() ));
     }
 }
\ No newline at end of file