You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by in...@apache.org on 2008/12/08 17:24:15 UTC

svn commit: r724394 - in /synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource: ./ factory/

Author: indika
Date: Mon Dec  8 08:24:15 2008
New Revision: 724394

URL: http://svn.apache.org/viewvc?rev=724394&view=rev
Log:
Avoid creating datasource information repo if there is one already  

Modified:
    synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepository.java
    synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepositoryHelper.java
    synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/JNDIBasedDataSourceRepository.java
    synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/RepositoryBasedDataSourceFinder.java
    synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceInformationRepositoryFactory.java

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepository.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepository.java?rev=724394&r1=724393&r2=724394&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepository.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepository.java Mon Dec  8 08:24:15 2008
@@ -86,7 +86,8 @@
         assertNull(listener, "Provided 'DataSourceInformationRepositoryListener' instance is null");
 
         if (this.listener != null) {
-            handleException("There is a 'DataSourceInformationRepositoryListener' associated with 'DataSourceInformationRepository'");
+            handleException("There is a 'DataSourceInformationRepositoryListener' " +
+                    "associated with 'DataSourceInformationRepository'");
         }
         this.listener = listener;
     }

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepositoryHelper.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepositoryHelper.java?rev=724394&r1=724393&r2=724394&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepositoryHelper.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceInformationRepositoryHelper.java Mon Dec  8 08:24:15 2008
@@ -36,10 +36,26 @@
     private static final Log log = LogFactory.getLog(DataSourceInformationRepositoryHelper.class);
 
     public static void initializeDataSourceInformationRepository(AxisConfiguration axisConfiguration, Properties properties) {
-        DataSourceRepositoryManager listener = DataSourceRepositoryManager.getInstance();
-        RepositoryBasedDataSourceFinder finder = RepositoryBasedDataSourceFinder.getInstance();
-        finder.init(listener);
-        initializeDataSourceInformationRepository(axisConfiguration, properties, listener);
+
+        DataSourceInformationRepository repository = getDataSourceInformationRepository(axisConfiguration);
+        DataSourceInformationRepositoryListener listener = null;
+
+        if (repository != null) {
+            listener = repository.getRepositoryListener();
+        }
+
+        if (listener == null) {
+            listener = DataSourceRepositoryManager.getInstance();
+        }
+
+        if (listener instanceof DataSourceRepositoryManager) {
+            RepositoryBasedDataSourceFinder finder = RepositoryBasedDataSourceFinder.getInstance();
+            finder.init((DataSourceRepositoryManager) listener);
+        }
+
+        if (repository == null) {
+            initializeDataSourceInformationRepository(axisConfiguration, properties, listener);
+        }
     }
 
     public static void initializeDataSourceInformationRepository(AxisConfiguration axisConfiguration, Properties properties, DataSourceInformationRepositoryListener listener) {

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/JNDIBasedDataSourceRepository.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/JNDIBasedDataSourceRepository.java?rev=724394&r1=724393&r2=724394&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/JNDIBasedDataSourceRepository.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/JNDIBasedDataSourceRepository.java Mon Dec  8 08:24:15 2008
@@ -57,7 +57,9 @@
 
         initialized = true;
         if (jndiEnv == null || jndiEnv.isEmpty()) {
-            log.warn("Provided global JNDI environment properties is empty or null.");
+            if (log.isDebugEnabled()) {
+                log.debug("Provided global JNDI environment properties is empty or null.");
+            }
             return;
         }
 

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/RepositoryBasedDataSourceFinder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/RepositoryBasedDataSourceFinder.java?rev=724394&r1=724393&r2=724394&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/RepositoryBasedDataSourceFinder.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/RepositoryBasedDataSourceFinder.java Mon Dec  8 08:24:15 2008
@@ -29,10 +29,11 @@
  */
 public class RepositoryBasedDataSourceFinder {
 
-    private final static Log log = LogFactory.getLog(InMemoryDataSourceRepository.class);
+    private final static Log log = LogFactory.getLog(RepositoryBasedDataSourceFinder.class);
     private DataSourceRepositoryManager dataSourceRepositoryManager;
     private boolean initialized;
-    private static final RepositoryBasedDataSourceFinder REPOSITORY_BASED_DATA_SOURCE_FINDER = new RepositoryBasedDataSourceFinder();
+    private static final RepositoryBasedDataSourceFinder
+            REPOSITORY_BASED_DATA_SOURCE_FINDER = new RepositoryBasedDataSourceFinder();
 
     private RepositoryBasedDataSourceFinder() {
     }
@@ -72,20 +73,10 @@
         throw new SynapseUtilException(msg);
     }
 
-    /**
-     * Helper methods for handle errors.
-     *
-     * @param msg The error message
-     * @param e   The exception
-     */
-    private static void handleException(String msg, Exception e) {
-        log.error(msg, e);
-        throw new SynapseUtilException(msg, e);
-    }
-
     private void assertInitialized() {
         if (!initialized) {
-            handleException("RepositoryBasedDataSourceFinder has not been initialized with a 'DataSourceRepositoryManager' instance ");
+            handleException("RepositoryBasedDataSourceFinder has not been " +
+                    "initialized with a 'DataSourceRepositoryManager' instance ");
         }
     }
 

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceInformationRepositoryFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceInformationRepositoryFactory.java?rev=724394&r1=724393&r2=724394&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceInformationRepositoryFactory.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceInformationRepositoryFactory.java Mon Dec  8 08:24:15 2008
@@ -41,7 +41,9 @@
         List<DataSourceInformation> sourceInformationList = DataSourceInformationListFactory.createDataSourceInformationList(properties);
         DataSourceInformationRepository repository = new DataSourceInformationRepository();
         repository.setRepositoryListener(listener);
-        repository.setConfigurationProperties(properties);
+        if (properties != null && !properties.isEmpty()) {
+            repository.setConfigurationProperties(properties);
+        }
         for (DataSourceInformation information : sourceInformationList) {
             if (information != null) {
                 repository.addDataSourceInformation(information);