RYA-81 Fixed a bug in the RyaSailFactory where the Rya DAO wasn't been placed 
within the store object and where the Accumulo table names were not matching 
the table prefix.


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

Branch: refs/heads/master
Commit: ab56da1c09e57ad4c41a4c369be5f431883705ba
Parents: 12b8ce6
Author: Kevin Chilton <[email protected]>
Authored: Tue Jul 19 21:33:29 2016 -0400
Committer: Aaron Mihalik <[email protected]>
Committed: Tue Aug 23 10:41:37 2016 -0400

----------------------------------------------------------------------
 .../api/instance/RyaDetailsToConfiguration.java | 18 ++++++++++++
 .../mvm/rya/sail/config/RyaSailFactory.java     | 30 +++++++++++---------
 2 files changed, 35 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/ab56da1c/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsToConfiguration.java
----------------------------------------------------------------------
diff --git 
a/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsToConfiguration.java
 
b/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsToConfiguration.java
index 8c7ba6e..75ae416 100644
--- 
a/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsToConfiguration.java
+++ 
b/common/rya.api/src/main/java/mvm/rya/api/instance/RyaDetailsToConfiguration.java
@@ -1,3 +1,21 @@
+/*
+ * 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 mvm.rya.api.instance;
 
 import org.apache.hadoop.conf.Configuration;

http://git-wip-us.apache.org/repos/asf/incubator-rya/blob/ab56da1c/extras/indexing/src/main/java/mvm/rya/sail/config/RyaSailFactory.java
----------------------------------------------------------------------
diff --git 
a/extras/indexing/src/main/java/mvm/rya/sail/config/RyaSailFactory.java 
b/extras/indexing/src/main/java/mvm/rya/sail/config/RyaSailFactory.java
index 54b872c..ef1f59f 100644
--- a/extras/indexing/src/main/java/mvm/rya/sail/config/RyaSailFactory.java
+++ b/extras/indexing/src/main/java/mvm/rya/sail/config/RyaSailFactory.java
@@ -42,6 +42,7 @@ import 
mvm.rya.accumulo.instance.AccumuloRyaInstanceDetailsRepository;
 import mvm.rya.api.RdfCloudTripleStoreConfiguration;
 import mvm.rya.api.instance.RyaDetailsRepository.RyaDetailsRepositoryException;
 import mvm.rya.api.instance.RyaDetailsToConfiguration;
+import mvm.rya.api.layout.TablePrefixLayoutStrategy;
 import mvm.rya.api.persist.RyaDAO;
 import mvm.rya.api.persist.RyaDAOException;
 import mvm.rya.indexing.accumulo.ConfigUtils;
@@ -62,22 +63,25 @@ public class RyaSailFactory {
 
     private static Sail getRyaSail(final Configuration config) throws 
InferenceEngineException, RyaDAOException, AccumuloException, 
AccumuloSecurityException {
         final RdfCloudTripleStore store = new RdfCloudTripleStore();
-        final RyaDAO dao;
+        final RyaDAO<?> dao;
         final RdfCloudTripleStoreConfiguration rdfConfig;
 
         final String user = config.get(ConfigUtils.CLOUDBASE_USER);
         final String pswd = config.get(ConfigUtils.CLOUDBASE_PASSWORD);
-        final String instance = 
config.get(RdfCloudTripleStoreConfiguration.CONF_TBL_PREFIX);
+        final String ryaInstance = 
config.get(RdfCloudTripleStoreConfiguration.CONF_TBL_PREFIX);
+
         if(ConfigUtils.getUseMongo(config)) {
             rdfConfig = new MongoDBRdfConfiguration(config);
-            final MongoClient client = 
updateMongoConfig((MongoDBRdfConfiguration) rdfConfig, user, pswd, instance);
+            final MongoClient client = 
updateMongoConfig((MongoDBRdfConfiguration) rdfConfig, user, pswd, ryaInstance);
             dao = getMongoDAO((MongoDBRdfConfiguration)rdfConfig, client);
         } else {
             rdfConfig = new AccumuloRdfConfiguration(config);
-            updateAccumuloConfig((AccumuloRdfConfiguration) rdfConfig, user, 
pswd, instance);
+            rdfConfig.setTableLayoutStrategy( new 
TablePrefixLayoutStrategy(ryaInstance) );
+            updateAccumuloConfig((AccumuloRdfConfiguration) rdfConfig, user, 
pswd, ryaInstance);
             dao = getAccumuloDAO((AccumuloRdfConfiguration)rdfConfig);
         }
-        rdfConfig.setTablePrefix(instance);
+        store.setRyaDAO(dao);
+        rdfConfig.setTablePrefix(ryaInstance);
 
         if (rdfConfig.isInfer()){
             final InferenceEngine inferenceEngine = new InferenceEngine();
@@ -90,7 +94,7 @@ public class RyaSailFactory {
         return store;
     }
 
-    private static RyaDAO getMongoDAO(final MongoDBRdfConfiguration config, 
final MongoClient client) throws RyaDAOException {
+    private static MongoDBRyaDAO getMongoDAO(final MongoDBRdfConfiguration 
config, final MongoClient client) throws RyaDAOException {
         MongoDBRyaDAO dao = null;
         ConfigUtils.setIndexers(config);
         if(client != null) {
@@ -106,7 +110,7 @@ public class RyaSailFactory {
         return dao;
     }
 
-    private static RyaDAO getAccumuloDAO(final AccumuloRdfConfiguration 
config) throws AccumuloException, AccumuloSecurityException, RyaDAOException {
+    private static AccumuloRyaDAO getAccumuloDAO(final 
AccumuloRdfConfiguration config) throws AccumuloException, 
AccumuloSecurityException, RyaDAOException {
         final Connector connector = ConfigUtils.getConnector(config);
         final AccumuloRyaDAO dao = new AccumuloRyaDAO();
         dao.setConnector(connector);
@@ -119,8 +123,8 @@ public class RyaSailFactory {
         return dao;
     }
 
-    private static MongoClient updateMongoConfig(final MongoDBRdfConfiguration 
config, final String user, final String pswd, final String instance) throws 
RyaDAOException {
-        final MongoCredential creds = MongoCredential.createCredential(user, 
instance, pswd.toCharArray());
+    private static MongoClient updateMongoConfig(final MongoDBRdfConfiguration 
config, final String user, final String pswd, final String ryaInstance) throws 
RyaDAOException {
+        final MongoCredential creds = MongoCredential.createCredential(user, 
ryaInstance, pswd.toCharArray());
         final String hostname = config.getMongoInstance();
         final int port = Integer.parseInt(config.getMongoPort());
 
@@ -130,21 +134,21 @@ public class RyaSailFactory {
             final MongoRyaInstanceDetailsRepository ryaDetailsRepo = new 
MongoRyaInstanceDetailsRepository(client, config.getCollectionName());
             
RyaDetailsToConfiguration.addRyaDetailsToConfiguration(ryaDetailsRepo.getRyaInstanceDetails(),
 config);
         } catch(final RyaDetailsRepositoryException e) {
-            LOG.info("Instance does not have a rya details collection, 
skipping.", e);
+            LOG.info("Instance does not have a rya details collection, 
skipping.");
         } catch (final UnknownHostException ue) {
             throw new RyaDAOException("Unable to connect to mongo at the 
configured location.", ue);
         }
         return client;
     }
 
-    private static void updateAccumuloConfig(final AccumuloRdfConfiguration 
config, final String user, final String pswd, final String instance) throws 
AccumuloException, AccumuloSecurityException {
+    private static void updateAccumuloConfig(final AccumuloRdfConfiguration 
config, final String user, final String pswd, final String ryaInstance) throws 
AccumuloException, AccumuloSecurityException {
         try {
             final PasswordToken pswdToken = new PasswordToken(pswd);
             final Instance accInst = ConfigUtils.getInstance(config);
-            final AccumuloRyaInstanceDetailsRepository ryaDetailsRepo = new 
AccumuloRyaInstanceDetailsRepository(accInst.getConnector(user, pswdToken), 
instance);
+            final AccumuloRyaInstanceDetailsRepository ryaDetailsRepo = new 
AccumuloRyaInstanceDetailsRepository(accInst.getConnector(user, pswdToken), 
ryaInstance);
             
RyaDetailsToConfiguration.addRyaDetailsToConfiguration(ryaDetailsRepo.getRyaInstanceDetails(),
 config);
         } catch(final RyaDetailsRepositoryException e) {
-            LOG.info("Instance does not have a rya details collection, 
skipping.", e);
+            LOG.info("Instance does not have a rya details collection, 
skipping.");
         }
     }
 }
\ No newline at end of file

Reply via email to