<?xml version="1.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.
-->

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
   <!-- Accumulo info -->
   
    <property>
        <name>mock</name>
        <value>true</value>
    </property>
    <property>
        <name>instance</name>
        <value>accumulo</value>
    </property>
    <property>
        <name>zookeepers</name>
        <value>zoo1,zoo2,zoo3</value>
    </property>

   <!-- User info -->
    <property>
        <name>username</name>
        <value>user</value>
    </property>
    <property>
        <name>password</name>
        <value>pass</value>
    </property>

   <!-- Rya info -->
   <property>
        <name>spo.table</name>
        <value>rya_spo</value>
    </property>
    <property>
        <name>prospects.table</name>
        <value>rya_prospects</value>
    </property>
    <property>
        <name>selectivity.table</name>
        <value>rya_selectivity</value>
    </property>
    <property>
        <name>auths</name>
        <value>U</value>
    </property>
    <property>
        <name>prospector.auths</name>
        <value>U</value>
    </property>
	
    <property>
        <name>prospector.intable</name>
        <value>rya_spo</value>
    </property>
    <property>
        <name>prospector.outtable</name>
        <value>rya_prospects</value>
    </property>
	
    <property>
        <name>inputpath</name>
        <value>/tmp/RyaStats/JoinSelectStatisticsSumInput</value>
    </property>
    <property>
        <name>outputpath</name>
        <value>/tmp/RyaStats/JoinSelectStatisticsSumInput</value>
    </property>
     <property>
        <name>prospects.outputpath</name>
        <value>/tmp/RyaStats/ProspectsOutput</value>
    </property>
	<property>
        <name>spo.outputpath</name>
        <value>/tmp/RyaStats/SpoOutput</value>
    </property>
</configuration>
