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 2009/03/25 11:10:47 UTC

svn commit: r758198 - in /synapse/trunk/java: modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/ modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/ src/site/xdoc/

Author: indika
Date: Wed Mar 25 10:10:39 2009
New Revision: 758198

URL: http://svn.apache.org/viewvc?rev=758198&view=rev
Log:
fix some issue related with SYNAPSE-416 .  Update docs

Modified:
    synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceConfigurationConstants.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/factory/DataSourceFactory.java
    synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceConfigurationConstants.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceConfigurationConstants.java?rev=758198&r1=758197&r2=758198&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceConfigurationConstants.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/DataSourceConfigurationConstants.java Wed Mar 25 10:10:39 2009
@@ -46,6 +46,7 @@
     public final static String PROP_TESTONRETURN = "testOnReturn";
     public final static String PROP_TIMEBETWEENEVICTIONRUNSMILLIS =
             "timeBetweenEvictionRunsMillis";
+    public final static String PROMPT = "DataBase Password for ";
     public final static String PROP_NUMTESTSPEREVICTIONRUN = "numTestsPerEvictionRun";
     public final static String PROP_MINEVICTABLEIDLETIMEMILLIS = "minEvictableIdleTimeMillis";
     public final static String PROP_TESTWHILEIDLE = "testWhileIdle";

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=758198&r1=758197&r2=758198&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 Wed Mar 25 10:10:39 2009
@@ -26,6 +26,10 @@
 import org.apache.synapse.commons.util.MiscellaneousUtil;
 import org.apache.synapse.commons.util.RMIRegistryController;
 import org.apache.synapse.commons.util.SynapseUtilException;
+import org.apache.synapse.commons.util.secret.SecretCallback;
+import org.apache.synapse.commons.util.secret.SecretCallbackHandler;
+import org.apache.synapse.commons.util.secret.SecretLoadingModule;
+import org.apache.synapse.commons.util.secret.SingleSecretCallback;
 
 import javax.naming.*;
 import javax.sql.DataSource;
@@ -126,7 +130,20 @@
         String driver = information.getDriver();
         String url = information.getUrl();
         String user = information.getUser();
+
         String password = information.getPassword();
+        SecretCallbackHandler secretCallbackHandler = information.getPasswordProvider();
+        if (secretCallbackHandler != null) {
+            SecretLoadingModule secretLoadingModule = new SecretLoadingModule();
+            secretLoadingModule.init(new SecretCallbackHandler[]{secretCallbackHandler});
+            SingleSecretCallback secretCallback =
+                    new SingleSecretCallback(DataSourceConfigurationConstants.PROMPT,
+                            password);
+            SecretCallback[] secretCallbacks = new SecretCallback[]{secretCallback};
+            secretLoadingModule.load(secretCallbacks);
+            password = secretCallback.getSecret();
+        }
+        
         String maxActive = String.valueOf(information.getMaxActive());
         String maxIdle = String.valueOf(information.getMaxIdle());
         String maxWait = String.valueOf(information.getMaxWait());

Modified: synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceFactory.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceFactory.java?rev=758198&r1=758197&r2=758198&view=diff
==============================================================================
--- synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceFactory.java (original)
+++ synapse/trunk/java/modules/utils/src/main/java/org/apache/synapse/commons/util/datasource/factory/DataSourceFactory.java Wed Mar 25 10:10:39 2009
@@ -24,14 +24,14 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.commons.util.SynapseUtilException;
+import org.apache.synapse.commons.util.datasource.DataSourceConfigurationConstants;
+import org.apache.synapse.commons.util.datasource.DataSourceInformation;
+import org.apache.synapse.commons.util.secret.SecretCallback;
 import org.apache.synapse.commons.util.secret.SecretCallbackHandler;
 import org.apache.synapse.commons.util.secret.SecretLoadingModule;
-import org.apache.synapse.commons.util.secret.SecretCallback;
 import org.apache.synapse.commons.util.secret.SingleSecretCallback;
-import org.apache.synapse.commons.util.datasource.DataSourceInformation;
 
 import javax.sql.DataSource;
-import java.util.List;
 
 /**
  * Factory for creating a DataSource based on information in DataSourceInformation
@@ -39,7 +39,7 @@
 public class DataSourceFactory {
 
     private final static Log log = LogFactory.getLog(DataSourceFactory.class);
-    private final static String PROMPT = "DataBase Password for ";
+
 
     private DataSourceFactory() {
     }
@@ -76,7 +76,8 @@
             SecretLoadingModule secretLoadingModule = new SecretLoadingModule();
             secretLoadingModule.init(new SecretCallbackHandler[]{secretCallbackHandler});
             SingleSecretCallback secretCallback =
-                    new SingleSecretCallback(PROMPT + information.getAlias());
+                    new SingleSecretCallback(DataSourceConfigurationConstants.PROMPT,
+                            password);
             SecretCallback[] secretCallbacks = new SecretCallback[]{secretCallback};
             secretLoadingModule.load(secretCallbacks);
             password = secretCallback.getSecret();

Modified: synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml
URL: http://svn.apache.org/viewvc/synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml?rev=758198&r1=758197&r2=758198&view=diff
==============================================================================
--- synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml (original)
+++ synapse/trunk/java/src/site/xdoc/Synapse_Samples_Setup.xml Wed Mar 25 10:10:39 2009
@@ -863,6 +863,24 @@
             org.apache.synapse.security.secret.handler.HardCodedSecretCallbackHandler
         </li>
     </ul>
+    <p>
+        When use <strong>org.apache.synapse.security.secret.handler.JMXSecretCallbackHandler</strong>
+        , It is needed to use a JMX Console. Then , using JMX Console need to access the MBean
+        <strong>SecretsProvider</strong>
+        and add passwords for following keys. Therese is method to add secret in
+        <strong>SecretsProvider</strong>
+        MBean.
+
+        <ul>
+            <li>identity.store.pass</li>
+            <li>trust.store.pass</li>
+            <li>identity.key.pass</li>
+        </ul>
+
+        Note: These keys are only meaningful to SecretManager.
+
+        There is a <strong>ServerManager</strong> MBean that can be used to start synapse.
+    </p>
 </p>
  <p>Secret repository can be configured using <strong>synape.properties</strong>.</p>
 <div>