Author: ffang
Date: Fri Jun 25 02:58:09 2010
New Revision: 957789

URL: http://svn.apache.org/viewvc?rev=957789&view=rev
Log:
[SMXCOMP-30]Want to be able to see all the web services exposed by cxf-bc, in a 
browser.

Modified:
    
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
    
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/ListServiceHandler.java

Modified: 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java?rev=957789&r1=957788&r2=957789&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
 (original)
+++ 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/CxfBcConsumer.java
 Fri Jun 25 02:58:09 2010
@@ -65,7 +65,6 @@ import org.apache.cxf.endpoint.Endpoint;
 import org.apache.cxf.endpoint.EndpointImpl;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.endpoint.ServerImpl;
-import org.apache.cxf.endpoint.ServerRegistry;
 import org.apache.cxf.feature.AbstractFeature;
 import org.apache.cxf.helpers.DOMUtils;
 import org.apache.cxf.interceptor.AttachmentInInterceptor;
@@ -372,7 +371,7 @@ public class CxfBcConsumer extends Consu
                 handlers = new ArrayList<Handler>();
                 jettyEng.setHandlers(handlers);
             }
-            handlers.add(new 
ListServiceHandler(getBus().getExtension(ServerRegistry.class)));
+            handlers.add(new ListServiceHandler(((CxfBcComponent) 
getServiceUnit().getComponent()).getAllBuses()));
         }
     }
 

Modified: 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/ListServiceHandler.java
URL: 
http://svn.apache.org/viewvc/servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/ListServiceHandler.java?rev=957789&r1=957788&r2=957789&view=diff
==============================================================================
--- 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/ListServiceHandler.java
 (original)
+++ 
servicemix/components/bindings/servicemix-cxf-bc/trunk/src/main/java/org/apache/servicemix/cxfbc/ListServiceHandler.java
 Fri Jun 25 02:58:09 2010
@@ -18,13 +18,16 @@ package org.apache.servicemix.cxfbc;
 
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.apache.cxf.Bus;
 import org.apache.cxf.endpoint.Server;
 import org.apache.cxf.endpoint.ServerRegistry;
 import org.apache.cxf.transport.http_jetty.JettyHTTPDestination;
@@ -38,10 +41,10 @@ import org.mortbay.util.StringUtil;
 public class ListServiceHandler extends AbstractHandler {
 
 
-    private ServerRegistry serverRegistry;
+    private Map<String, Bus> allBuses;
     
-    public ListServiceHandler(ServerRegistry serRegistry) {
-        this.serverRegistry = serRegistry;
+    public ListServiceHandler(Map<String, Bus> allBuses) {
+        this.allBuses = allBuses;
     }
     
     public void handle(String target, HttpServletRequest request,
@@ -74,8 +77,12 @@ public class ListServiceHandler extends 
         writer.write("No service matched or handled this request.<BR>");
         writer.write("Known services on cxf bc component are: <ul>");
 
-        List<Server> servers = serverRegistry.getServers();
-        for (Iterator iter = servers.iterator(); iter.hasNext();) {
+        List<Server> servers = new ArrayList<Server>();
+        for (Bus bus : allBuses.values()) {
+            ServerRegistry serverRegistry = 
bus.getExtension(ServerRegistry.class);
+            servers.addAll(serverRegistry.getServers());
+        }
+        for (Iterator<Server> iter = servers.iterator(); iter.hasNext();) {
             Server server = (Server) iter.next();
             JettyHTTPDestination jhd = 
(JettyHTTPDestination)server.getDestination();
             String address = jhd.getAddress().getAddress().getValue();


Reply via email to