Author: hiranya
Date: Mon Jul 27 11:22:23 2009
New Revision: 798103

URL: http://svn.apache.org/viewvc?rev=798103&view=rev
Log:
Added a method to SynapseConfigUtils which creates a fresh SynapseConfiguration 
instance and registers the observers as specified in the synapse.properties 
file. Configuration builders were updated to use this new method when they want 
to create a new SynapseConfiguration.

Modified:
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
    
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java?rev=798103&r1=798102&r2=798103&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigUtils.java
 Mon Jul 27 11:22:23 2009
@@ -702,5 +702,33 @@
         }
         return null;
     }
+
+    /**
+     * Construct a fresh SynapseConfiguration instance and registers the 
observers
+     * with it as specified in the synapse.properties file. Use the 
initial.observers
+     * property in the synapse.properties file to specify observers as a comma 
separated
+     * list.
+     *
+     * @return a SynapseConfiguration instance
+     */
+    public static SynapseConfiguration newConfiguration() {
+        SynapseConfiguration synConfig = new SynapseConfiguration();
+        Properties synapseProps = 
SynapsePropertiesLoader.loadSynapseProperties();
+        String propValue = synapseProps.getProperty("initial.observers");
+        if (propValue != null) {
+            String[] observerNames = propValue.split(",");
+            for (String observer : observerNames) {
+                try {
+                    Class clazz = SynapseConfigUtils.class.getClassLoader().
+                            loadClass(observer.trim());
+                    SynapseObserver o = (SynapseObserver) clazz.newInstance();
+                    synConfig.registerObserver(o);
+                } catch (Exception e) {
+                    handleException("Error while initializing Synapse 
observers", e);
+                }
+            }
+        }
+        return synConfig;
+    }
 }
 

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java?rev=798103&r1=798102&r2=798103&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfiguration.java
 Mon Jul 27 11:22:23 2009
@@ -1083,6 +1083,10 @@
         }
     }
 
+    public List<SynapseObserver> getObservers() {
+        return Collections.unmodifiableList(observers);
+    }
+
     private void assertAlreadyExists(String key, String type) {
 
         if (key == null || "".equals(key)) {

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java?rev=798103&r1=798102&r2=798103&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/SynapseConfigurationBuilder.java
 Mon Jul 27 11:22:23 2009
@@ -49,7 +49,7 @@
      */
     public static SynapseConfiguration getDefaultConfiguration() {
         // programatically create an empty configuration which just log and 
drop the messages 
-        SynapseConfiguration config = new SynapseConfiguration();
+        SynapseConfiguration config = SynapseConfigUtils.newConfiguration();
         SequenceMediator mainmediator = new SequenceMediator();
         mainmediator.addChild(new LogMediator());
         mainmediator.addChild(new DropMediator());

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java?rev=798103&r1=798102&r2=798103&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/MultiXMLConfigurationBuilder.java
 Mon Jul 27 11:22:23 2009
@@ -98,7 +98,7 @@
             log.debug("Building Synapse configuration from the directory 
heirarchy at : " + root);
         }
 
-        SynapseConfiguration synapseConfig = new SynapseConfiguration();
+        SynapseConfiguration synapseConfig = 
SynapseConfigUtils.newConfiguration();
         synapseConfig.setDefaultQName(XMLConfigConstants.DEFINITIONS_ELT);
 
         try {

Modified: 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java?rev=798103&r1=798102&r2=798103&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
 (original)
+++ 
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/SynapseXMLConfigurationFactory.java
 Mon Jul 27 11:22:23 2009
@@ -58,7 +58,7 @@
             throw new SynapseException(
                     "Wrong QName for this configuration factory " + 
definitions.getQName());
         }
-        SynapseConfiguration config = new SynapseConfiguration();
+        SynapseConfiguration config = SynapseConfigUtils.newConfiguration();   
            
         config.setDefaultQName(definitions.getQName());
 
         SequenceMediator rootSequence = new SequenceMediator();


Reply via email to