Author: ffang
Date: Fri Dec  7 07:33:37 2012
New Revision: 1418201

URL: http://svn.apache.org/viewvc?rev=1418201&view=rev
Log:
[SMXCOMP-958]servicemix-wsn2005 should be able to configure username/password 
when connect to a secure jms broker

Modified:
    
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
    
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
    
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
    
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
    
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml

Modified: 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
--- 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
 (original)
+++ 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNComponent.java
 Fri Dec  7 07:33:37 2012
@@ -68,6 +68,10 @@ public class WSNComponent extends Defaul
     private WSNDeployer deployer;
 
     private BrokerService brokerService;
+    
+    private String brokerUsername;
+    
+    private String brokerPassword;
 
 
     public WSNComponent() {
@@ -162,13 +166,13 @@ public class WSNComponent extends Defaul
         }
         if (connectionFactory != null) {
             notificationBroker.setConnectionFactory(connectionFactory);
-            notificationBroker.init();
+            notificationBroker.init(brokerUsername, brokerPassword);
         }
         // Create PullPoint
         createPullPoint = new 
JmsCreatePullPoint(configuration.getBrokerName());
         createPullPoint.setManager(new WSNEndpointManager());
         createPullPoint.setConnectionFactory(connectionFactory);
-        createPullPoint.init();
+        createPullPoint.init(brokerUsername, brokerPassword);
         // Create endpoints
         endpoints = new ArrayList<Endpoint>();
         if (resources != null) {
@@ -275,6 +279,22 @@ public class WSNComponent extends Defaul
         return (ConnectionFactory) 
ctx.lookup(configuration.getJndiConnectionFactoryName());
     }
 
+    public String getBrokerUsername() {
+        return brokerUsername;
+    }
+
+    public void setBrokerUsername(String brokerUsername) {
+        this.brokerUsername = brokerUsername;
+    }
+
+    public String getBrokerPassword() {
+        return brokerPassword;
+    }
+
+    public void setBrokerPassword(String brokerPassword) {
+        this.brokerPassword = brokerPassword;
+    }
+
     public class WSNEndpointManager implements EndpointManager {
 
         public Object register(String address, Object service) throws 
EndpointRegistrationException {

Modified: 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
--- 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
 (original)
+++ 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/component/WSNConfiguration.java
 Fri Dec  7 07:33:37 2012
@@ -59,4 +59,16 @@ public class WSNConfiguration extends Pe
     public void setBrokerName(String brokerName) {
         this.brokerName = brokerName;
     }
+    
+    public static boolean isEmpty(String str) {
+        if (str != null) {
+            int len = str.length();
+            for (int x = 0; x < len; ++x) {
+                if (str.charAt(x) > ' ') {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
 }

Modified: 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
--- 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
 (original)
+++ 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsCreatePullPoint.java
 Fri Dec  7 07:33:37 2012
@@ -22,6 +22,7 @@ import javax.xml.namespace.QName;
 
 import org.apache.servicemix.wsn.AbstractCreatePullPoint;
 import org.apache.servicemix.wsn.AbstractPullPoint;
+import org.apache.servicemix.wsn.component.WSNConfiguration;
 import org.oasis_open.docs.wsn.b_2.CreatePullPoint;
 
 public class JmsCreatePullPoint extends AbstractCreatePullPoint {
@@ -34,9 +35,14 @@ public class JmsCreatePullPoint extends 
         super(name);
     }
 
-    public void init() throws Exception {
+    public void init(String brokerUsername, String brokerPassword) throws 
Exception {
         if (connection == null) {
-            connection = connectionFactory.createConnection();
+            if (!WSNConfiguration.isEmpty(brokerUsername) 
+                && !WSNConfiguration.isEmpty(brokerPassword)) {
+                connection = 
connectionFactory.createConnection(brokerUsername, brokerPassword);
+            } else {
+                connection = connectionFactory.createConnection();
+            }
             connection.start();
         }
         super.init();

Modified: 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
--- 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
 (original)
+++ 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/java/org/apache/servicemix/wsn/jms/JmsNotificationBroker.java
 Fri Dec  7 07:33:37 2012
@@ -27,6 +27,7 @@ import javax.xml.datatype.DatatypeFactor
 import org.apache.servicemix.wsn.AbstractNotificationBroker;
 import org.apache.servicemix.wsn.AbstractPublisher;
 import org.apache.servicemix.wsn.AbstractSubscription;
+import org.apache.servicemix.wsn.component.WSNConfiguration;
 import org.oasis_open.docs.wsrf.rp_2.GetResourcePropertyResponse;
 import org.oasis_open.docs.wsrf.rp_2.InvalidResourcePropertyQNameFaultType;
 import org.oasis_open.docs.wsrf.rw_2.ResourceUnavailableFault;
@@ -43,9 +44,14 @@ public abstract class JmsNotificationBro
         super(name);
     }
 
-    public void init() throws Exception {
+    public void init(String brokerUsername, String brokerPassword) throws 
Exception {
         if (connection == null) {
-            connection = connectionFactory.createConnection();
+            if (!WSNConfiguration.isEmpty(brokerUsername) 
+                && !WSNConfiguration.isEmpty(brokerPassword)) {
+                connection = 
connectionFactory.createConnection(brokerUsername, brokerPassword);
+            } else {
+                connection = connectionFactory.createConnection();
+            }
             connection.start();
         }
         super.init();

Modified: 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
URL: 
http://svn.apache.org/viewvc/servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml?rev=1418201&r1=1418200&r2=1418201&view=diff
==============================================================================
--- 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
 (original)
+++ 
servicemix/components/trunk/engines/servicemix-wsn2005/src/main/resources/OSGI-INF/blueprint/servicemix-wsn2005.xml
 Fri Dec  7 07:33:37 2012
@@ -27,6 +27,8 @@
     <bean id="servicemix-wsn2005" 
class="org.apache.servicemix.wsn.component.WSNComponent">
         <property name="executorFactory" ref="executorFactory" />
         <property name="connectionFactory" ref="connectionFactory" />
+        <property name="brokerUsername" value="${brokerUsername}"/>
+        <property name="brokerPassword" value="${brokerPassword}"/>
     </bean>
 
     <bean id="executorFactory" 
class="org.apache.servicemix.executors.impl.ExecutorFactoryImpl">
@@ -76,7 +78,9 @@
             <cm:property name="threadPoolCorePoolSize" value="8"/>
             <cm:property name="threadPoolMaximumPoolSize" value="32"/>
             <cm:property name="threadPoolQueueSize" value="256"/>
-           </cm:default-properties>
+            <cm:property name="brokerUsername" value=""/>
+            <cm:property name="brokerPassword" value=""/>
+       </cm:default-properties>
     </cm:property-placeholder>
     
 </blueprint>


Reply via email to