Github user kchilton2 commented on a diff in the pull request: https://github.com/apache/incubator-rya/pull/172#discussion_r160527700 --- Diff: extras/indexing/src/main/java/org/apache/rya/indexing/mongodb/pcj/MongoPcjIndexSetProvider.java --- @@ -0,0 +1,130 @@ +/* + * 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.indexing.mongodb.pcj; + +import static java.util.Objects.requireNonNull; + +import java.util.List; +import java.util.Map; + +import org.apache.rya.api.instance.RyaDetailsRepository; +import org.apache.rya.api.instance.RyaDetailsRepository.RyaDetailsRepositoryException; +import org.apache.rya.indexing.external.tupleSet.ExternalTupleSet; +import org.apache.rya.indexing.pcj.matching.provider.AbstractPcjIndexSetProvider; +import org.apache.rya.indexing.pcj.storage.PrecomputedJoinStorage; +import org.apache.rya.indexing.pcj.storage.PrecomputedJoinStorage.PCJStorageException; +import org.apache.rya.indexing.pcj.storage.mongo.MongoPcjDocuments; +import org.apache.rya.indexing.pcj.storage.mongo.MongoPcjStorage; +import org.apache.rya.mongodb.StatefulMongoDBRdfConfiguration; +import org.apache.rya.mongodb.instance.MongoRyaInstanceDetailsRepository; +import org.openrdf.query.MalformedQueryException; + +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.mongodb.MongoClient; + +/** + * Implementation of {@link AbstractPcjIndexSetProvider} for MongoDB. + */ +public class MongoPcjIndexSetProvider extends AbstractPcjIndexSetProvider { + /** + * Creates a new {@link MongoPcjIndexSetProvider}. + * @param conf - The configuration for this provider. (not null) + */ + public MongoPcjIndexSetProvider(final StatefulMongoDBRdfConfiguration conf) { + super(conf); + } + + /** + * Creates a new {@link MongoPcjIndexSetProvider}. + * @param conf - The configuration for this provider. + * @param indices - The predefined indicies on this provider. + * @param client - The {@link MongoClient} used to connect to mongo. + */ + public MongoPcjIndexSetProvider(final StatefulMongoDBRdfConfiguration conf, final List<ExternalTupleSet> indices) { + super(conf, indices); + } + + @Override + protected List<ExternalTupleSet> getIndices() throws PcjIndexSetException { + requireNonNull(conf); --- End diff -- Do the supers not check if this is null?
---