use dynamic port for cassandra testing

git-svn-id: https://svn.apache.org/repos/asf/archiva/sandbox/trunk@1491404 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/metadata-store-cassandra/pom.xml b/metadata-store-cassandra/pom.xml
index 3390b03..80028d5 100644
--- a/metadata-store-cassandra/pom.xml
+++ b/metadata-store-cassandra/pom.xml
@@ -222,6 +222,24 @@
           </instructions>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>reserve-ports</id>
+            <phase>process-test-resources</phase>
+            <goals>
+              <goal>reserve-network-port</goal>
+            </goals>
+            <configuration>
+              <portNames>
+                <portName>cassandraPort</portName>
+              </portNames>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
       <!-- TODO use dynamic port -->
 
       <plugin>
@@ -235,6 +253,9 @@
             <goals>
               <goal>start</goal>
             </goals>
+            <configuration>
+              <rpcPort>${cassandraPort}</rpcPort>
+            </configuration>
           </execution>
           <execution>
             <id>stop-cassandra</id>
@@ -253,6 +274,19 @@
         </dependencies>
       </plugin>
     </plugins>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <configuration>
+            <systemPropertyVariables>
+              <cassandraPort>${cassandraPort}</cassandraPort>
+            </systemPropertyVariables>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
   </build>
 
   <repositories>
diff --git a/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraEntityManagerFactory.java b/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraEntityManagerFactory.java
index faadc15..2f4f6ac 100644
--- a/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraEntityManagerFactory.java
+++ b/metadata-store-cassandra/src/main/java/org/apache/archiva/metadata/repository/cassandra/DefaultCassandraEntityManagerFactory.java
@@ -60,14 +60,14 @@
     public void initialize()
         throws ConnectionException
     {
-
+        String cassandraPort = System.getProperty( "cassandraPort" );
         keyspaceContext = new AstyanaxContext.Builder().forCluster( CLUSTER_NAME ).forKeyspace(
             KEYSPACE_NAME ).withAstyanaxConfiguration(
             new AstyanaxConfigurationImpl().setDiscoveryType( NodeDiscoveryType.RING_DESCRIBE ).setConnectionPoolType(
                 ConnectionPoolType.TOKEN_AWARE ) ).withConnectionPoolConfiguration(
             new ConnectionPoolConfigurationImpl( CLUSTER_NAME + "_" + KEYSPACE_NAME ).setSocketTimeout(
                 30000 ).setMaxTimeoutWhenExhausted( 2000 ).setMaxConnsPerHost( 20 ).setInitConnsPerHost( 10 ).setSeeds(
-                "localhost:9160" ) ).withConnectionPoolMonitor( new CountingConnectionPoolMonitor() ).buildKeyspace(
+                "localhost:"+ cassandraPort ) ).withConnectionPoolMonitor( new CountingConnectionPoolMonitor() ).buildKeyspace(
             ThriftFamilyFactory.getInstance() );
 
         keyspaceContext.start();