You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2012/10/31 08:15:54 UTC

svn commit: r1404003 - in /karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main: java/org/apache/karaf/cellar/hazelcast/QueueProducer.java java/org/apache/karaf/cellar/hazelcast/TopicProducer.java resources/OSGI-INF/blueprint/blueprint.xml

Author: jbonofre
Date: Wed Oct 31 07:15:54 2012
New Revision: 1404003

URL: http://svn.apache.org/viewvc?rev=1404003&view=rev
Log:
[KARAF-1414] Add loading of producer status from configuration admin

Modified:
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
    karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java?rev=1404003&r1=1404002&r2=1404003&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/QueueProducer.java Wed Oct 31 07:15:54 2012
@@ -29,6 +29,7 @@ package org.apache.karaf.cellar.hazelcas
 
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.IQueue;
+import org.apache.karaf.cellar.core.Configurations;
 import org.apache.karaf.cellar.core.Node;
 import org.apache.karaf.cellar.core.command.Result;
 import org.apache.karaf.cellar.core.control.BasicSwitch;
@@ -36,6 +37,8 @@ import org.apache.karaf.cellar.core.cont
 import org.apache.karaf.cellar.core.control.SwitchStatus;
 import org.apache.karaf.cellar.core.event.Event;
 import org.apache.karaf.cellar.core.event.EventProducer;
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -53,6 +56,7 @@ public class QueueProducer<E extends Eve
     private HazelcastInstance instance;
     private IQueue<E> queue;
     private Node node;
+    private ConfigurationAdmin configurationAdmin;
 
     /**
      * Initialization method.
@@ -75,7 +79,7 @@ public class QueueProducer<E extends Eve
      * @param event
      */
     public void produce(E event) {
-        if (eventSwitch.getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
+        if (this.getSwitch().getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
             event.setSourceNode(node);
             try {
                 queue.put(event);
@@ -90,6 +94,20 @@ public class QueueProducer<E extends Eve
     }
 
     public Switch getSwitch() {
+        // load the init status from the config
+        try {
+            Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE);
+            if (configuration != null) {
+                Boolean status = new Boolean((String) configuration.getProperties().get(Configurations.PRODUCER));
+                if (status) {
+                    eventSwitch.turnOn();
+                } else {
+                    eventSwitch.turnOff();
+                }
+            }
+        } catch (Exception e) {
+            LOGGER.warn("Can't load the producer status from the configuration layer", e);
+        }
         return eventSwitch;
     }
 
@@ -109,7 +127,6 @@ public class QueueProducer<E extends Eve
         this.instance = instance;
     }
 
-
     public Node getNode() {
         return node;
     }
@@ -118,4 +135,12 @@ public class QueueProducer<E extends Eve
         this.node = node;
     }
 
+    public ConfigurationAdmin getConfigurationAdmin() {
+        return this.configurationAdmin;
+    }
+
+    public void setConfigurationAdmin(ConfigurationAdmin configurationAdmin) {
+        this.configurationAdmin = configurationAdmin;
+    }
+
 }

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java?rev=1404003&r1=1404002&r2=1404003&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/java/org/apache/karaf/cellar/hazelcast/TopicProducer.java Wed Oct 31 07:15:54 2012
@@ -15,6 +15,7 @@ package org.apache.karaf.cellar.hazelcas
 
 import com.hazelcast.core.HazelcastInstance;
 import com.hazelcast.core.ITopic;
+import org.apache.karaf.cellar.core.Configurations;
 import org.apache.karaf.cellar.core.Node;
 import org.apache.karaf.cellar.core.command.Result;
 import org.apache.karaf.cellar.core.control.BasicSwitch;
@@ -22,6 +23,8 @@ import org.apache.karaf.cellar.core.cont
 import org.apache.karaf.cellar.core.control.SwitchStatus;
 import org.apache.karaf.cellar.core.event.Event;
 import org.apache.karaf.cellar.core.event.EventProducer;
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -39,6 +42,7 @@ public class TopicProducer<E extends Eve
     private HazelcastInstance instance;
     private ITopic topic;
     private Node node;
+    private ConfigurationAdmin configurationAdmin;
 
     /**
      * Initialization method.
@@ -61,7 +65,7 @@ public class TopicProducer<E extends Eve
      * @param event
      */
     public void produce(E event) {
-        if (eventSwitch.getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
+        if (this.getSwitch().getStatus().equals(SwitchStatus.ON) || event.getForce() || event instanceof Result) {
             event.setSourceNode(node);
             topic.publish(event);
         } else {
@@ -72,6 +76,20 @@ public class TopicProducer<E extends Eve
     }
 
     public Switch getSwitch() {
+        // load the init status from the config
+        try {
+            Configuration configuration = configurationAdmin.getConfiguration(Configurations.NODE);
+            if (configuration != null) {
+                Boolean status = new Boolean((String) configuration.getProperties().get(Configurations.PRODUCER));
+                if (status) {
+                    eventSwitch.turnOn();
+                } else {
+                    eventSwitch.turnOff();
+                }
+            }
+        } catch (Exception e) {
+            LOGGER.warn("Can't load the producer status from the configuration layer", e);
+        }
         return eventSwitch;
     }
 
@@ -91,7 +109,6 @@ public class TopicProducer<E extends Eve
         this.instance = instance;
     }
 
-
     public Node getNode() {
         return node;
     }
@@ -100,4 +117,12 @@ public class TopicProducer<E extends Eve
         this.node = node;
     }
 
+    public ConfigurationAdmin getConfigurationAdmin() {
+        return configurationAdmin;
+    }
+
+    public void setConfigurationAdmin(ConfigurationAdmin configurationAdmin) {
+        this.configurationAdmin = configurationAdmin;
+    }
+
 }

Modified: karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml
URL: http://svn.apache.org/viewvc/karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml?rev=1404003&r1=1404002&r2=1404003&view=diff
==============================================================================
--- karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml (original)
+++ karaf/cellar/branches/cellar-2.2.x/hazelcast/src/main/resources/OSGI-INF/blueprint/blueprint.xml Wed Oct 31 07:15:54 2012
@@ -93,6 +93,7 @@
     <bean id="producer" class="org.apache.karaf.cellar.hazelcast.TopicProducer" init-method="init">
         <property name="instance" ref="hazelcast"/>
         <property name="node" ref="node"/>
+        <property name="configurationAdmin" ref="configurationAdmin"/>
     </bean>
 
     <bean id="executionContext" class="org.apache.karaf.cellar.core.command.ClusteredExecutionContext">