Repository: usergrid
Updated Branches:
  refs/heads/pcf 7a14d6fd6 -> 584cf9738


Initial config to support defined env vars for pcf services of cassandra and 
elasticsearch.


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

Branch: refs/heads/pcf
Commit: e6003b0607c57f9650f29a5172796df5f0e5403d
Parents: 7a14d6f
Author: Michael Russo <[email protected]>
Authored: Tue Feb 23 15:35:43 2016 -0800
Committer: Michael Russo <[email protected]>
Committed: Tue Feb 23 15:35:43 2016 -0800

----------------------------------------------------------------------
 .../usergrid/corepersistence/GuiceFactory.java       |  6 ++++++
 .../src/main/resources/usergrid-core-context.xml     |  5 ++++-
 .../apache/usergrid/persistence/index/IndexFig.java  |  8 ++++++++
 .../usergrid/persistence/index/impl/EsProvider.java  | 15 +++++++++++++--
 4 files changed, 31 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/e6003b06/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
----------------------------------------------------------------------
diff --git 
a/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
 
b/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
index b3ce43b..dbab22d 100644
--- 
a/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
+++ 
b/stack/core/src/main/java/org/apache/usergrid/corepersistence/GuiceFactory.java
@@ -89,6 +89,12 @@ public class GuiceFactory implements FactoryBean<Injector> {
             logger.info( "Loading Core Persistence properties" );
 
             String hostsString = "";
+
+            String pcf_hosts = 
systemProperties.getProperty("pcf_cassandra_hosts");
+            if(pcf_hosts != null && !pcf_hosts.isEmpty()){
+                chc.setHosts(pcf_hosts);
+            }
+
             CassandraHost[] hosts = chc.buildCassandraHosts();
             if ( hosts.length == 0 ) {
                 throw new RuntimeException( "Fatal error: no Cassandra hosts 
configured" );

http://git-wip-us.apache.org/repos/asf/usergrid/blob/e6003b06/stack/core/src/main/resources/usergrid-core-context.xml
----------------------------------------------------------------------
diff --git a/stack/core/src/main/resources/usergrid-core-context.xml 
b/stack/core/src/main/resources/usergrid-core-context.xml
index 1087f25..cb0d243 100644
--- a/stack/core/src/main/resources/usergrid-core-context.xml
+++ b/stack/core/src/main/resources/usergrid-core-context.xml
@@ -51,7 +51,10 @@
     </bean>
 
        <bean id="cassandraHostConfigurator" 
class="me.prettyprint.cassandra.service.CassandraHostConfigurator">
-               <constructor-arg value="${cassandra.url}" />
+               <constructor-arg 
value="#{(systemProperties['pcf_cassandra_hosts'] == ''
+               || systemProperties['pcf_cassandra_hosts'] == null ) ?
+               '${cassandra.url}' : systemProperties['pcf_cassandra_hosts'] }" 
/>
+
         <!-- set the pool size if it's available.  If not go with 50 -->
         <property name="maxActive" value="${cassandra.connections:15}"/>
         <property name="cassandraThriftSocketTimeout" 
value="${cassandra.thriftSocketTimeout:5000}" />

http://git-wip-us.apache.org/repos/asf/usergrid/blob/e6003b06/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
----------------------------------------------------------------------
diff --git 
a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
 
b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
index 33f199a..eb098d3 100644
--- 
a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
+++ 
b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/IndexFig.java
@@ -28,8 +28,12 @@ import org.safehaus.guicyfig.Key;
 @FigSingleton
 public interface IndexFig extends GuicyFig {
 
+    String VALIDATION_DEFAULT_VALUE = "default-property";
+
     String ELASTICSEARCH_HOSTS = "elasticsearch.hosts";
 
+    String PFC_ELASTICSEARCH_HOSTS = "pcf_elasticsearch_hosts";
+
     String ELASTICSEARCH_PORT = "elasticsearch.port";
 
     String ELASTICSEARCH_CLUSTER_NAME = "elasticsearch.cluster_name";
@@ -70,6 +74,10 @@ public interface IndexFig extends GuicyFig {
     @Key( ELASTICSEARCH_HOSTS )
     String getHosts();
 
+    @Default( VALIDATION_DEFAULT_VALUE )
+    @Key( PFC_ELASTICSEARCH_HOSTS )
+    String getPfcHosts();
+
     /**
      * The port used when connecting to Elasticsearch.
      */

http://git-wip-us.apache.org/repos/asf/usergrid/blob/e6003b06/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
----------------------------------------------------------------------
diff --git 
a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
 
b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
index 60c41f6..5fddfe9 100644
--- 
a/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
+++ 
b/stack/corepersistence/queryindex/src/main/java/org/apache/usergrid/persistence/index/impl/EsProvider.java
@@ -144,8 +144,13 @@ public class EsProvider {
 
         TransportClient transportClient = new TransportClient( 
settings.build() );
 
+        String finalHosts = indexFig.getPfcHosts();
+        if( finalHosts == null || finalHosts.isEmpty() || 
finalHosts.equalsIgnoreCase(IndexFig.VALIDATION_DEFAULT_VALUE)){
+            finalHosts = indexFig.getHosts();
+        }
+        logger.info("Elasticsearch hosts used: {}", finalHosts);
         // we will connect to ES on all configured hosts
-        for ( String host : indexFig.getHosts().split( "," ) ) {
+        for ( String host : finalHosts.split( "," ) ) {
             transportClient.addTransportAddress( new 
InetSocketTransportAddress( host, port ) );
         }
 
@@ -171,7 +176,13 @@ public class EsProvider {
          */
         final StringBuffer hosts = new StringBuffer();
 
-        for ( String host : indexFig.getHosts().split( "," ) ) {
+        String finalHosts = indexFig.getPfcHosts();
+        if( finalHosts == null || finalHosts.isEmpty() || 
finalHosts.equalsIgnoreCase(IndexFig.VALIDATION_DEFAULT_VALUE)){
+            finalHosts = indexFig.getHosts();
+        }
+
+        logger.info("Elasticsearch hosts used: {}", finalHosts);
+        for ( String host : finalHosts.split( "," ) ) {
             hosts.append( host ).append( ":" ).append( port ).append( "," );
         }
 

Reply via email to