usergrid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mru...@apache.org
Subject [01/33] usergrid git commit: Initial commit introducing Datastax cassandra driver.
Date Wed, 11 May 2016 05:45:54 GMT
Repository: usergrid
Updated Branches:
  refs/heads/datastax-cass-driver [created] 324f94d41


Initial commit introducing Datastax cassandra driver.


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

Branch: refs/heads/datastax-cass-driver
Commit: a6319750e65d0b04aaa211e83ac220875120d9a5
Parents: a958b05
Author: Michael Russo <michaelarusso@gmail.com>
Authored: Mon Feb 8 18:04:36 2016 -0800
Committer: Michael Russo <michaelarusso@gmail.com>
Committed: Mon Feb 8 18:04:36 2016 -0800

----------------------------------------------------------------------
 stack/core/pom.xml                              | 810 ++++++++++---------
 .../UniqueValueSerializationStrategyImpl.java   |   2 +-
 stack/corepersistence/common/pom.xml            |  40 +
 .../core/astyanax/CassandraConfig.java          |   2 +-
 .../core/astyanax/CassandraConfigImpl.java      |  10 +-
 .../persistence/core/astyanax/CassandraFig.java |  56 +-
 .../core/datastax/DataStaxCluster.java          |  33 +
 .../core/datastax/DatastaxSessionProvider.java  |  23 +
 .../core/datastax/impl/DatastaxClusterImpl.java | 169 ++++
 .../persistence/core/guice/CommonModule.java    |   4 +
 .../core/datastax/DatastaxClusterTest.java      |  24 +
 stack/corepersistence/pom.xml                   |   1 +
 stack/pom.xml                                   |   6 +
 stack/test-utils/pom.xml                        |   4 +
 14 files changed, 765 insertions(+), 419 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/core/pom.xml
----------------------------------------------------------------------
diff --git a/stack/core/pom.xml b/stack/core/pom.xml
index 76ff694..7083687 100644
--- a/stack/core/pom.xml
+++ b/stack/core/pom.xml
@@ -17,30 +17,30 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.usergrid</groupId>
-    <artifactId>usergrid</artifactId>
-    <version>2.1.1-SNAPSHOT</version>
-    <relativePath>../</relativePath>
-  </parent>
-
-  <artifactId>usergrid-core</artifactId>
-  <name>Usergrid Core</name>
-  <description>Core services for Usergrid system.</description>
-  <packaging>jar</packaging>
-
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
-
-
-  <build>
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.apache.usergrid</groupId>
+        <artifactId>usergrid</artifactId>
+        <version>2.1.1-SNAPSHOT</version>
+        <relativePath>../</relativePath>
+    </parent>
+
+    <artifactId>usergrid-core</artifactId>
+    <name>Usergrid Core</name>
+    <description>Core services for Usergrid system.</description>
+    <packaging>jar</packaging>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </reporting>
+
+
+    <build>
 
         <resources>
             <resource>
@@ -55,384 +55,388 @@
                 </includes>
             </resource>
         </resources>
-    <testResources>
-      <testResource>
-        <directory>src/test/resources</directory>
-        <filtering>true</filtering>
-        <includes>
-          <include>**/*.yaml</include>
-          <include>**/*.properties</include>
-          <include>**/*.xml</include>
-        </includes>
-      </testResource>
-      <testResource>
-        <directory>src/test/resources</directory>
-        <filtering>true</filtering>
-        <includes>
-          <include>largeentity.json</include>
-        </includes>
-      </testResource>
-    </testResources>
-
-    <plugins>
-
-      <!--
-      Do not need to configure surefire plugin here, parent POM configuration is sufficient.
-      -->
-
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>test-jar-execution</id>
-            <phase>package</phase>
-            <goals>
-              <goal>test-jar</goal>
-            </goals>
-            <configuration>
-              <includes>
-                <include>**/org/apache/usergrid/**</include>
-              </includes>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-
-    </plugins>
-  </build>
-
-  <dependencies>
-
-
-      <!-- dependent on wiring guice and spring -->
-      <dependency>
-          <groupId>com.google.inject.extensions</groupId>
-          <artifactId>guice-spring</artifactId>
-          <version>4.0-beta5</version>
-      </dependency>
-
-    <!-- Apache Dependencies -->
-
-    <dependency>
-      <groupId>org.apache.cassandra</groupId>
-      <artifactId>cassandra-all</artifactId>
-      <!-- Exclude the old and problematic Snappy -->
-      <exclusions>
-        <exclusion>
-          <artifactId>snappy-java</artifactId>
-          <groupId>org.xerial.snappy</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>antlr</artifactId>
-          <groupId>org.antlr</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.cassandra</groupId>
-      <artifactId>cassandra-thrift</artifactId>
-    </dependency>
-
-    <!-- Include the slighly newer and less problematic snappy -->
-    <dependency>
-      <artifactId>snappy-java</artifactId>
-      <groupId>org.xerial.snappy</groupId>
-      <version>1.0.5</version>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.httpcomponents</groupId>
-      <artifactId>httpclient</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-cli</groupId>
-      <artifactId>commons-cli</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-beanutils</groupId>
-      <artifactId>commons-beanutils</artifactId>
-    </dependency>
-
-    <!-- SUN, Javax Package, and Other Commercial Dependencies -->
-
-    <dependency>
-      <groupId>com.beust</groupId>
-      <artifactId>jcommander</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>com.sun.mail</groupId>
-      <artifactId>javax.mail</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>javax.activation</groupId>
-      <artifactId>activation</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>javax.persistence</groupId>
-      <artifactId>persistence-api</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>com.fasterxml.uuid</groupId>
-      <artifactId>java-uuid-generator</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>com.hazelcast</groupId>
-      <artifactId>hazelcast-all</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>com.netflix.curator</groupId>
-      <artifactId>curator-recipes</artifactId>
-    </dependency>
-
-      <dependency>
-          <groupId>com.netflix.astyanax</groupId>
-          <artifactId>astyanax-recipes</artifactId>
-      </dependency>
-
-    <dependency>
-      <groupId>com.google.guava</groupId>
-      <artifactId>guava</artifactId>
-    </dependency>
-
-    <!-- Codehaus, Spring and Other Org Dependencies -->
-
-    <dependency>
-      <groupId>org.hectorclient</groupId>
-      <artifactId>hector-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-core</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-expression</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-beans</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-aop</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>aopalliance</groupId>
-      <artifactId>aopalliance</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-context-support</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-web</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.yaml</groupId>
-      <artifactId>snakeyaml</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jsoup</groupId>
-      <artifactId>jsoup</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.perf4j</groupId>
-      <artifactId>perf4j</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.aspectj</groupId>
-      <artifactId>aspectjweaver</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.aspectj</groupId>
-      <artifactId>aspectjrt</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>cglib</groupId>
-      <artifactId>cglib-nodep</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>jline</groupId>
-      <artifactId>jline</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jboss.netty</groupId>
-      <artifactId>netty</artifactId>
-    </dependency>
-
-    <!-- Test and Logging Dependencies -->
-
-    <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>usergrid-config</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-      <classifier>tests</classifier>
-    </dependency>
-
-    <dependency>
-      <groupId>org.hectorclient</groupId>
-      <artifactId>hector-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-
-    <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <version>${mockito.version}</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.jvnet.mock-javamail</groupId>
-      <artifactId>mock-javamail</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>usergrid-test-utils</artifactId>
-      <version>${project.version}</version>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
-      <groupId>org.springframework</groupId>
-      <artifactId>spring-test</artifactId>
-      <scope>test</scope>
-    </dependency>
-
-
-       <dependency>
-        <groupId>org.apache.usergrid</groupId>
-        <artifactId>common</artifactId>
-        <version>2.1.1-SNAPSHOT</version>
-        <type>test-jar</type>
-           <scope>test</scope>
-       </dependency>
-
-
-    <!-- Core Persistence deps -->
-    <dependency>
-	    <groupId>org.apache.usergrid</groupId>
-	    <artifactId>collection</artifactId>
-	    <version>2.1.1-SNAPSHOT</version>
-	    <type>jar</type>
-      <exclusions>
-        <exclusion>
-          <artifactId>antlr</artifactId>
-          <groupId>org.antlr</groupId>
-        </exclusion>
-        <exclusion>
-          <artifactId>antlr</artifactId>
-          <groupId>antlr</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-
-
-    <dependency>
-	    <groupId>org.apache.usergrid</groupId>
-	    <artifactId>queryindex</artifactId>
-	    <version>2.1.1-SNAPSHOT</version>
-	    <type>jar</type>
-    </dependency>
-
-    <dependency>
-	    <groupId>org.apache.usergrid</groupId>
-	    <artifactId>graph</artifactId>
-	    <version>2.1.1-SNAPSHOT</version>
-	    <type>jar</type>
-    </dependency>
-
-    <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>map</artifactId>
-      <version>2.1.1-SNAPSHOT</version>
-      <type>jar</type>
-    </dependency>
-
-      <dependency>
-          <groupId>org.apache.usergrid</groupId>
-          <artifactId>cache</artifactId>
-          <version>2.1.1-SNAPSHOT</version>
-      </dependency>
-
-      <dependency>
-      <groupId>org.apache.usergrid</groupId>
-      <artifactId>queue</artifactId>
-      <version>2.1.1-SNAPSHOT</version>
-      <type>jar</type>
-    </dependency>
-
-    <dependency>
-      <groupId>com.codahale.metrics</groupId>
-      <artifactId>metrics-core</artifactId>
-      <version>${metrics.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>com.codahale.metrics</groupId>
-      <artifactId>metrics-graphite</artifactId>
-      <version>${metrics.version}</version>
-    </dependency>
-
-  </dependencies>
-
-  <!--
-  Do not need jacoco profile here because we do not override the surefire plugin in this POM
-  -->
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>**/*.yaml</include>
+                    <include>**/*.properties</include>
+                    <include>**/*.xml</include>
+                </includes>
+            </testResource>
+            <testResource>
+                <directory>src/test/resources</directory>
+                <filtering>true</filtering>
+                <includes>
+                    <include>largeentity.json</include>
+                </includes>
+            </testResource>
+        </testResources>
+
+        <plugins>
+
+            <!--
+            Do not need to configure surefire plugin here, parent POM configuration is sufficient.
+            -->
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>test-jar-execution</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>test-jar</goal>
+                        </goals>
+                        <configuration>
+                            <includes>
+                                <include>**/org/apache/usergrid/**</include>
+                            </includes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+        </plugins>
+    </build>
+
+    <dependencies>
+
+
+        <!-- dependent on wiring guice and spring -->
+        <dependency>
+            <groupId>com.google.inject.extensions</groupId>
+            <artifactId>guice-spring</artifactId>
+            <version>4.0-beta5</version>
+        </dependency>
+
+        <!-- Apache Dependencies -->
+
+        <dependency>
+            <groupId>org.apache.cassandra</groupId>
+            <artifactId>cassandra-all</artifactId>
+            <!-- Exclude the old and problematic Snappy -->
+            <exclusions>
+                <exclusion>
+                    <artifactId>snappy-java</artifactId>
+                    <groupId>org.xerial.snappy</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>antlr</artifactId>
+                    <groupId>org.antlr</groupId>
+                </exclusion>
+                <exclusion>
+                    <groupId>net.jpountz.lz4</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.cassandra</groupId>
+            <artifactId>cassandra-thrift</artifactId>
+        </dependency>
+
+        <!-- Include the slighly newer and less problematic snappy -->
+        <dependency>
+            <artifactId>snappy-java</artifactId>
+            <groupId>org.xerial.snappy</groupId>
+            <version>1.0.5</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-cli</groupId>
+            <artifactId>commons-cli</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-beanutils</groupId>
+            <artifactId>commons-beanutils</artifactId>
+        </dependency>
+
+        <!-- SUN, Javax Package, and Other Commercial Dependencies -->
+
+        <dependency>
+            <groupId>com.beust</groupId>
+            <artifactId>jcommander</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.sun.mail</groupId>
+            <artifactId>javax.mail</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.activation</groupId>
+            <artifactId>activation</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>javax.persistence</groupId>
+            <artifactId>persistence-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.uuid</groupId>
+            <artifactId>java-uuid-generator</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.hazelcast</groupId>
+            <artifactId>hazelcast-all</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.netflix.curator</groupId>
+            <artifactId>curator-recipes</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.netflix.astyanax</groupId>
+            <artifactId>astyanax-recipes</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
+
+        <!-- Codehaus, Spring and Other Org Dependencies -->
+
+        <dependency>
+            <groupId>org.hectorclient</groupId>
+            <artifactId>hector-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-core</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-expression</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-beans</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>aopalliance</groupId>
+            <artifactId>aopalliance</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context-support</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-web</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.yaml</groupId>
+            <artifactId>snakeyaml</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.jsoup</groupId>
+            <artifactId>jsoup</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.perf4j</groupId>
+            <artifactId>perf4j</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjrt</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>cglib</groupId>
+            <artifactId>cglib-nodep</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>jline</groupId>
+            <artifactId>jline</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.jboss.netty</groupId>
+            <artifactId>netty</artifactId>
+        </dependency>
+
+        <!-- Test and Logging Dependencies -->
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>usergrid-config</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+            <classifier>tests</classifier>
+        </dependency>
+
+        <dependency>
+            <groupId>org.hectorclient</groupId>
+            <artifactId>hector-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <version>${mockito.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.jvnet.mock-javamail</groupId>
+            <artifactId>mock-javamail</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>usergrid-test-utils</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <scope>test</scope>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>common</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+            <type>test-jar</type>
+            <scope>test</scope>
+        </dependency>
+
+
+        <!-- Core Persistence deps -->
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>collection</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+            <type>jar</type>
+            <exclusions>
+                <exclusion>
+                    <artifactId>antlr</artifactId>
+                    <groupId>org.antlr</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>antlr</artifactId>
+                    <groupId>antlr</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>queryindex</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>graph</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>map</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>cache</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.usergrid</groupId>
+            <artifactId>queue</artifactId>
+            <version>2.1.1-SNAPSHOT</version>
+            <type>jar</type>
+        </dependency>
+
+        <dependency>
+            <groupId>com.codahale.metrics</groupId>
+            <artifactId>metrics-core</artifactId>
+            <version>${metrics.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.codahale.metrics</groupId>
+            <artifactId>metrics-graphite</artifactId>
+            <version>${metrics.version}</version>
+        </dependency>
+
+    </dependencies>
+
+    <!--
+    Do not need jacoco profile here because we do not override the surefire plugin in this POM
+    -->
 
 </project>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
index 622ebef..1795511 100644
--- a/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
+++ b/stack/corepersistence/collection/src/main/java/org/apache/usergrid/persistence/collection/serialization/impl/UniqueValueSerializationStrategyImpl.java
@@ -240,7 +240,7 @@ public abstract class UniqueValueSerializationStrategyImpl<FieldKey, EntityKey>
     @Override
     public UniqueValueSet load( final ApplicationScope colScope, final String type, final Collection<Field> fields )
         throws ConnectionException {
-        return load( colScope, ConsistencyLevel.valueOf( cassandraFig.getReadCL() ), type, fields );
+        return load( colScope, ConsistencyLevel.valueOf( cassandraFig.getAstyanaxReadCL() ), type, fields );
     }
 
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/pom.xml b/stack/corepersistence/common/pom.xml
index b47706c..6b617cf 100644
--- a/stack/corepersistence/common/pom.xml
+++ b/stack/corepersistence/common/pom.xml
@@ -55,6 +55,12 @@
             <groupId>org.apache.cassandra</groupId>
             <artifactId>cassandra-all</artifactId>
             <version>${cassandra.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>net.jpountz.lz4</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -176,6 +182,40 @@
             <artifactId>metrics-graphite</artifactId>
             <version>${metrics.version}</version>
         </dependency>
+
+        <!-- Use the shaded jar dependency so we don't conflict on other Netty versions in the application -->
+        <dependency>
+            <groupId>com.datastax.cassandra</groupId>
+            <artifactId>cassandra-driver-core</artifactId>
+            <version>${datastax.version}</version>
+            <classifier>shaded</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>io.netty</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.datastax.cassandra</groupId>
+            <artifactId>cassandra-driver-mapping</artifactId>
+            <version>${datastax.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>com.datastax.cassandra</groupId>
+                    <artifactId>cassandra-driver-core</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <!-- LZ4 compression used for Datastax Java Driver:
+             https://datastax.github.io/java-driver/2.1.7/features/compression/ -->
+        <dependency>
+            <groupId>net.jpountz.lz4</groupId>
+            <artifactId>lz4</artifactId>
+            <version>1.2.0</version>
+        </dependency>
+
     </dependencies>
 
     <profiles>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
index dba3646..c506d2d 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfig.java
@@ -37,7 +37,7 @@ public interface CassandraConfig {
     ConsistencyLevel getReadCL();
 
     /**
-     * Get the currently configured ReadCL that is more consitent than getReadCL
+     * Get the currently configured ReadCL that is more consitent than getAstyanaxReadCL
      * @return
      */
     ConsistencyLevel getConsistentReadCL();

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
index 7373322..a9b37fd 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraConfigImpl.java
@@ -45,13 +45,13 @@ public class CassandraConfigImpl implements CassandraConfig {
     @Inject
     public CassandraConfigImpl( final CassandraFig cassandraFig ) {
 
-        this.readCl = ConsistencyLevel.valueOf( cassandraFig.getReadCL() );
+        this.readCl = ConsistencyLevel.valueOf( cassandraFig.getAstyanaxReadCL() );
 
-        this.writeCl = ConsistencyLevel.valueOf( cassandraFig.getWriteCL() );
+        this.writeCl = ConsistencyLevel.valueOf( cassandraFig.getAstyanaxWriteCL() );
 
         this.shardSettings = parseShardSettings( cassandraFig.getShardValues() );
 
-        this.consistentCl = ConsistencyLevel.valueOf(cassandraFig.getConsistentReadCL());
+        this.consistentCl = ConsistencyLevel.valueOf(cassandraFig.getAstyanaxConsistentReadCL());
 
         //add the listeners to update the values
         cassandraFig.addPropertyChangeListener( new PropertyChangeListener() {
@@ -59,11 +59,11 @@ public class CassandraConfigImpl implements CassandraConfig {
             public void propertyChange( final PropertyChangeEvent evt ) {
                 final String propName = evt.getPropertyName();
 
-                if ( CassandraFig.READ_CL.equals( propName ) ) {
+                if ( CassandraFig.ASTYANAX_READ_CL.equals( propName ) ) {
                     readCl = ConsistencyLevel.valueOf( evt.getNewValue().toString() );
                 }
 
-                else if ( CassandraFig.WRITE_CL.equals( propName ) ) {
+                else if ( CassandraFig.ASTYANAX_WRITE_CL.equals( propName ) ) {
                     writeCl = ConsistencyLevel.valueOf( evt.getNewValue().toString() );
                 }
                 else if (CassandraFig.SHARD_VALUES.equals(propName)){

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
index e30ba9c..78c4fbc 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/astyanax/CassandraFig.java
@@ -25,17 +25,22 @@ import org.safehaus.guicyfig.GuicyFig;
 import org.safehaus.guicyfig.Key;
 
 
-
 /**
  * Cassandra configuration interface.
  */
 @FigSingleton
 public interface CassandraFig extends GuicyFig {
 
+    // cassndra properties used by datastax driver
+    String READ_CL = "cassandra.readcl";
+    String WRITE_CL = "cassandra.writecl";
+    String STRATEGY = "cassandra.strategy";
+    String STRATEGY_OPTIONS = "cassandra.strategy.options";
+
     // main application cassandra properties
-    String READ_CONSISTENT_CL = "usergrid.consistent.read.cl";
-    String READ_CL = "usergrid.read.cl";
-    String WRITE_CL = "usergrid.write.cl";
+    String ASTYANAX_READ_CONSISTENT_CL = "usergrid.consistent.read.cl";
+    String ASTYANAX_READ_CL = "usergrid.read.cl";
+    String ASTYANAX_WRITE_CL = "usergrid.write.cl";
     String SHARD_VALUES = "cassandra.shardvalues";
     String THRIFT_TRANSPORT_SIZE = "cassandra.thrift.transport.frame";
 
@@ -54,6 +59,9 @@ public interface CassandraFig extends GuicyFig {
     // re-usable default values
     String DEFAULT_CONNECTION_POOLSIZE = "15";
     String DEFAULT_LOCKS_EXPIRATION = "3600000";  // 1 hour
+    String DEFAULT_LOCAL_DC = "";
+    String DEFAULT_USERNAME = "";
+    String DEFAULT_PASSWORD = "";
 
 
     @Key( "cassandra.hosts" )
@@ -75,7 +83,16 @@ public interface CassandraFig extends GuicyFig {
     @Default( "9160" )
     int getThriftPort();
 
+    @Key( "cassandra.username" )
+    @Default( DEFAULT_USERNAME )
+    String getUsername();
+
+    @Key( "cassandra.password" )
+    @Default( DEFAULT_PASSWORD )
+    String getPassword();
+
     @Key( "cassandra.datacenter.local" )
+    @Default( DEFAULT_LOCAL_DC )
     String getLocalDataCenter();
 
     @Key( "cassandra.connections" )
@@ -86,22 +103,43 @@ public interface CassandraFig extends GuicyFig {
     @Default( "10000" )
     int getTimeout();
 
+    @Key( "cassandra.timeout.pool" )
+    @Default( "5000" )
+    int getPoolTimeout();
+
     @Key("cassandra.discovery")
     @Default( "RING_DESCRIBE" )
     String getDiscoveryType();
 
 
     @Default("CL_LOCAL_QUORUM")
-    @Key(READ_CL)
-    String getReadCL();
+    @Key(ASTYANAX_READ_CL)
+    String getAstyanaxReadCL();
 
     @Default("CL_QUORUM")
-    @Key(READ_CONSISTENT_CL)
-    String getConsistentReadCL();
+    @Key(ASTYANAX_READ_CONSISTENT_CL)
+    String getAstyanaxConsistentReadCL();
 
     @Default("CL_LOCAL_QUORUM")
+    @Key(ASTYANAX_WRITE_CL)
+    String getAstyanaxWriteCL();
+
+
+    @Default("LOCAL_QUORUM")
+    @Key(READ_CL)
+    String getReadCl();
+
+    @Default("LOCAL_QUORUM")
     @Key(WRITE_CL)
-    String getWriteCL();
+    String getWriteCl();
+
+    @Default("SimpleStrategy")
+    @Key( STRATEGY )
+    String getStrategy();
+
+    @Default("replication_factor:1")
+    @Key( STRATEGY_OPTIONS )
+    String getStrategyOptions();
 
     /**
      * Return the history of all shard values which are immutable.  For instance, if shard values

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DataStaxCluster.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DataStaxCluster.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DataStaxCluster.java
new file mode 100644
index 0000000..7515bf5
--- /dev/null
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DataStaxCluster.java
@@ -0,0 +1,33 @@
+/*
+ * 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.usergrid.persistence.core.datastax;
+
+
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.Session;
+
+public interface DataStaxCluster {
+
+    Cluster getCluster();
+
+    Session getClusterSession();
+
+    Session getApplicationSession();
+
+}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DatastaxSessionProvider.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DatastaxSessionProvider.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DatastaxSessionProvider.java
new file mode 100644
index 0000000..eeca763
--- /dev/null
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/DatastaxSessionProvider.java
@@ -0,0 +1,23 @@
+package org.apache.usergrid.persistence.core.datastax;
+
+
+import com.datastax.driver.core.Session;
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class DatastaxSessionProvider implements Provider<Session> {
+
+    private final DataStaxCluster dataStaxCluster;
+
+    @Inject
+    public DatastaxSessionProvider( final DataStaxCluster dataStaxCluster){
+
+        this.dataStaxCluster = dataStaxCluster;
+    }
+
+    @Override
+    public Session get(){
+
+        return dataStaxCluster.getApplicationSession();
+    }
+}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/impl/DatastaxClusterImpl.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/impl/DatastaxClusterImpl.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/impl/DatastaxClusterImpl.java
new file mode 100644
index 0000000..0582c4e
--- /dev/null
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/datastax/impl/DatastaxClusterImpl.java
@@ -0,0 +1,169 @@
+/*
+ * 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.usergrid.persistence.core.datastax.impl;
+
+import com.datastax.driver.core.*;
+import com.datastax.driver.core.policies.DCAwareRoundRobinPolicy;
+import com.datastax.driver.core.policies.LoadBalancingPolicy;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import org.apache.usergrid.persistence.core.astyanax.CassandraFig;
+import org.apache.usergrid.persistence.core.datastax.DataStaxCluster;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+@Singleton
+public class DatastaxClusterImpl implements DataStaxCluster {
+
+    private static final Logger logger = LoggerFactory.getLogger( DatastaxClusterImpl.class );
+
+
+    private final CassandraFig cassandraFig;
+    private final Cluster cluster;
+    private Session applicationSession;
+    private Session clusterSession;
+
+    @Inject
+    public DatastaxClusterImpl( final CassandraFig cassandraFig ) throws Exception {
+        this.cassandraFig = cassandraFig;
+
+        ConsistencyLevel defaultConsistencyLevel;
+        try {
+            defaultConsistencyLevel = ConsistencyLevel.valueOf(cassandraFig.getReadCl());
+        } catch (IllegalArgumentException e){
+
+            logger.error("Unable to parse provided consistency level in property: {}, defaulting to: {}",
+                CassandraFig.READ_CL,
+                ConsistencyLevel.LOCAL_QUORUM);
+
+            defaultConsistencyLevel = ConsistencyLevel.LOCAL_QUORUM;
+        }
+
+
+        LoadBalancingPolicy loadBalancingPolicy;
+        if( !cassandraFig.getLocalDataCenter().isEmpty() ){
+
+            loadBalancingPolicy = new DCAwareRoundRobinPolicy.Builder()
+                .withLocalDc( cassandraFig.getLocalDataCenter() ).build();
+        }else{
+            loadBalancingPolicy = new DCAwareRoundRobinPolicy.Builder().build();
+        }
+
+        final PoolingOptions poolingOptions = new PoolingOptions()
+            .setCoreConnectionsPerHost(HostDistance.LOCAL, cassandraFig.getConnections() / 2)
+            .setMaxConnectionsPerHost(HostDistance.LOCAL, cassandraFig.getConnections())
+            .setIdleTimeoutSeconds(cassandraFig.getTimeout() / 1000)
+            .setPoolTimeoutMillis(cassandraFig.getPoolTimeout());
+
+        final QueryOptions queryOptions = new QueryOptions()
+            .setConsistencyLevel(defaultConsistencyLevel);
+
+        final Cluster.Builder datastaxCluster = Cluster.builder()
+            .withClusterName(cassandraFig.getClusterName())
+            .addContactPoints(cassandraFig.getHosts().split(","))
+            .withCompression(ProtocolOptions.Compression.LZ4)
+            .withLoadBalancingPolicy(loadBalancingPolicy)
+            .withPoolingOptions(poolingOptions)
+            .withQueryOptions(queryOptions)
+            .withProtocolVersion(ProtocolVersion.NEWEST_SUPPORTED);
+
+        // only add auth credentials if they were provided
+        if ( !cassandraFig.getUsername().isEmpty() && !cassandraFig.getPassword().isEmpty() ){
+            datastaxCluster.withCredentials(
+                cassandraFig.getUsername(),
+                cassandraFig.getPassword()
+            );
+        }
+
+        this.cluster = datastaxCluster.build();
+        this.clusterSession = cluster.connect();
+        logger.info("Initialized datastax client cluster. Hosts={}, Idle Timeout={}s,  Request Timeout={}s",
+            cluster.getMetadata().getAllHosts().toString(),
+            cluster.getConfiguration().getPoolingOptions().getIdleTimeoutSeconds(),
+            cluster.getConfiguration().getPoolingOptions().getPoolTimeoutMillis() / 1000);
+
+        logger.info("Creating keyspaces if they do not already exist.");
+        createKeyspaces();
+        this.applicationSession = cluster.connect( "\""+cassandraFig.getApplicationKeyspace()+"\"" );
+
+
+
+
+    }
+
+    public Cluster getCluster(){
+        return cluster;
+    }
+
+    public Session getClusterSession(){
+        return clusterSession;
+    }
+
+    public Session getApplicationSession(){
+        return applicationSession;
+    }
+
+    private void createKeyspaces() throws Exception{
+
+        final String createApplicationKeyspace = String.format(
+            "CREATE KEYSPACE IF NOT EXISTS \"%s\" WITH replication = %s",
+            cassandraFig.getApplicationKeyspace(),
+            getFormattedReplication( cassandraFig.getStrategy(), cassandraFig.getStrategyOptions() )
+
+        );
+
+        final String createLocksKeyspace = String.format(
+            "CREATE KEYSPACE IF NOT EXISTS \"%s\" WITH replication = %s",
+            cassandraFig.getLocksKeyspace(),
+            getFormattedReplication(
+                cassandraFig.getLocksKeyspaceStrategy(),
+                cassandraFig.getLocksKeyspaceReplication()
+            )
+        );
+
+        logger.info("Creating application keyspace with the following CQL: {}", createApplicationKeyspace);
+        clusterSession.execute(createApplicationKeyspace);
+
+        logger.info("Creating locks keyspace with the following CQL: {}", createLocksKeyspace);
+        clusterSession.execute(createLocksKeyspace);
+
+
+    }
+
+    private String getFormattedReplication(String strategy, String strategyOptions) throws JsonProcessingException{
+
+        Map<String, String> replicationSettings = new HashMap<>();
+        replicationSettings.put("class", strategy);
+        String[] strategyOptionsSplit = strategyOptions.split(",");
+        for ( String option : strategyOptionsSplit){
+            String[] splitOptions = option.split(":");
+            replicationSettings.put(splitOptions[0], splitOptions[1]);
+        }
+            ObjectMapper mapper = new ObjectMapper();
+            return mapper.writeValueAsString(replicationSettings).replace("\"", "'");
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/guice/CommonModule.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/guice/CommonModule.java b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/guice/CommonModule.java
index f7a9926..a06a6e7 100644
--- a/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/guice/CommonModule.java
+++ b/stack/corepersistence/common/src/main/java/org/apache/usergrid/persistence/core/guice/CommonModule.java
@@ -21,6 +21,7 @@ package org.apache.usergrid.persistence.core.guice;
 
 import com.netflix.astyanax.Keyspace;
 import org.apache.usergrid.persistence.core.astyanax.*;
+import org.apache.usergrid.persistence.core.datastax.impl.DatastaxClusterImpl;
 import org.safehaus.guicyfig.GuicyFigModule;
 
 import org.apache.usergrid.persistence.core.consistency.TimeService;
@@ -61,6 +62,9 @@ public class CommonModule extends AbstractModule {
         // bind our Cassandra cluster to the Astyanax Implementation
         bind(CassandraCluster.class).to(CassandraClusterImpl.class).asEagerSingleton();
 
+        // bind our Datastax cluster
+        bind(DatastaxClusterImpl.class).asEagerSingleton();
+
         // bind our keyspace to the AstyanaxKeyspaceProvider
         bind(Keyspace.class).toProvider(AstyanaxKeyspaceProvider.class).asEagerSingleton();
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/datastax/DatastaxClusterTest.java
----------------------------------------------------------------------
diff --git a/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/datastax/DatastaxClusterTest.java b/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/datastax/DatastaxClusterTest.java
new file mode 100644
index 0000000..477a205
--- /dev/null
+++ b/stack/corepersistence/common/src/test/java/org/apache/usergrid/persistence/core/datastax/DatastaxClusterTest.java
@@ -0,0 +1,24 @@
+package org.apache.usergrid.persistence.core.datastax;
+
+/*
+ * 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.
+ */
+public class DatastaxClusterTest {
+
+    //TODO
+}

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/corepersistence/pom.xml
----------------------------------------------------------------------
diff --git a/stack/corepersistence/pom.xml b/stack/corepersistence/pom.xml
index 0d8609b..869cbd4 100644
--- a/stack/corepersistence/pom.xml
+++ b/stack/corepersistence/pom.xml
@@ -80,6 +80,7 @@ limitations under the License.
         <commons.collections.version>3.2.1</commons.collections.version>
         <commons.io.version>2.4</commons.io.version>
         <commons.lang.version>3.1</commons.lang.version>
+        <datastax.version>2.1.9</datastax.version>
         <elasticsearch.version>1.4.4</elasticsearch.version>
         <fasterxml-uuid.version>3.1.3</fasterxml-uuid.version>
         <guava.version>18.0</guava.version>

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/pom.xml
----------------------------------------------------------------------
diff --git a/stack/pom.xml b/stack/pom.xml
index f052bf9..2dd1034 100644
--- a/stack/pom.xml
+++ b/stack/pom.xml
@@ -467,6 +467,12 @@
                         <artifactId>snappy-java</artifactId>
                         <groupId>org.xerial.snappy</groupId>
                     </exclusion>
+
+                    <exclusion>
+                        <groupId>net.jpountz.lz4</groupId>
+                        <artifactId>*</artifactId>
+
+                    </exclusion>
                 </exclusions>
             </dependency>
 

http://git-wip-us.apache.org/repos/asf/usergrid/blob/a6319750/stack/test-utils/pom.xml
----------------------------------------------------------------------
diff --git a/stack/test-utils/pom.xml b/stack/test-utils/pom.xml
index c104f0a..e07abf6 100644
--- a/stack/test-utils/pom.xml
+++ b/stack/test-utils/pom.xml
@@ -101,6 +101,10 @@
                     <artifactId>snappy-java</artifactId>
                     <groupId>org.xerial.snappy</groupId>
                 </exclusion>
+                <exclusion>
+                    <groupId>net.jpountz.lz4</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
             </exclusions>
         </dependency>
 


Mime
View raw message