Author: jsdelfino
Date: Mon Nov 12 12:39:31 2007
New Revision: 594293

URL: http://svn.apache.org/viewvc?rev=594293&view=rev
Log:
Support collections of business objects and mediate them from/to XML.

Modified:
    incubator/tuscany/java/sca/modules/binding-feed/pom.xml
    
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java
    
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java
    
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java
    
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
    
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java
    
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java

Modified: incubator/tuscany/java/sca/modules/binding-feed/pom.xml
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/pom.xml?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/pom.xml Mon Nov 12 12:39:31 
2007
@@ -50,6 +50,12 @@
 
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-databinding</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
             <artifactId>tuscany-host-http</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
         </dependency>

Modified: 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingProviderFactory.java
 Mon Nov 12 12:39:31 2007
@@ -22,6 +22,10 @@
 import org.apache.tuscany.sca.binding.feed.AtomBinding;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
+import org.apache.tuscany.sca.databinding.Mediator;
+import org.apache.tuscany.sca.databinding.TransformerExtensionPoint;
+import org.apache.tuscany.sca.databinding.impl.MediatorImpl;
 import org.apache.tuscany.sca.host.http.ServletHost;
 import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -38,6 +42,7 @@
 public class AtomBindingProviderFactory implements 
BindingProviderFactory<AtomBinding> {
 
     private MessageFactory messageFactory;
+    private Mediator mediator;
     private ServletHost servletHost;
 
     public AtomBindingProviderFactory(ExtensionPointRegistry extensionPoints) {
@@ -45,6 +50,8 @@
         this.servletHost = servletHosts.getServletHosts().get(0);
         ModelFactoryExtensionPoint modelFactories = 
extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
         this.messageFactory = modelFactories.getFactory(MessageFactory.class);
+        this.mediator = new 
MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class),
+                                         
extensionPoints.getExtensionPoint(TransformerExtensionPoint.class));
     }
 
     public ReferenceBindingProvider 
createReferenceBindingProvider(RuntimeComponent component,
@@ -56,7 +63,7 @@
     public ServiceBindingProvider 
createServiceBindingProvider(RuntimeComponent component,
                                                                
RuntimeComponentService service,
                                                                AtomBinding 
binding) {
-        return new AtomServiceBindingProvider(component, service, binding, 
servletHost, messageFactory);
+        return new AtomServiceBindingProvider(component, service, binding, 
servletHost, messageFactory, mediator);
     }
 
     public Class<AtomBinding> getModelType() {

Modified: 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java
 Mon Nov 12 12:39:31 2007
@@ -21,6 +21,7 @@
 
 import java.io.IOException;
 import java.io.Reader;
+import java.io.StringWriter;
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.List;
@@ -34,6 +35,7 @@
 import org.jdom.output.Format;
 import org.jdom.output.XMLOutputter;
 
+import com.sun.syndication.feed.atom.Content;
 import com.sun.syndication.feed.atom.Entry;
 import com.sun.syndication.feed.atom.Feed;
 import com.sun.syndication.io.FeedException;
@@ -71,6 +73,19 @@
         WireFeedInput input = new WireFeedInput();
         feed = (Feed)input.build(document);
         Entry entry = (Entry)feed.getEntries().get(0);
+        if (entry.getContents().size() != 0) {
+            Content content = (Content)entry.getContents().get(0);
+            if ("text/xml".equals(content.getType())) {
+                Element element = root.getChild("content", 
root.getNamespace());
+                if (!element.getChildren().isEmpty()) {
+                    element = (Element)element.getChildren().get(0);
+                    XMLOutputter outputter = new XMLOutputter();
+                    StringWriter sw = new StringWriter();
+                    outputter.output(element, sw);
+                    content.setValue(sw.toString());
+                }
+            }
+        }
         return entry;
     }
 

Modified: 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomServiceBindingProvider.java
 Mon Nov 12 12:39:31 2007
@@ -20,6 +20,7 @@
 package org.apache.tuscany.sca.binding.feed.provider;
 
 import org.apache.tuscany.sca.binding.feed.AtomBinding;
+import org.apache.tuscany.sca.databinding.Mediator;
 import org.apache.tuscany.sca.host.http.ServletHost;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -38,16 +39,19 @@
     private ServletHost servletHost;
     private MessageFactory messageFactory;
     private String servletMapping;
+    private Mediator mediator;
 
     AtomServiceBindingProvider(RuntimeComponent component,
                                       RuntimeComponentService service,
                                       AtomBinding binding,
                                       ServletHost servletHost,
-                                      MessageFactory messageFactory) {
+                                      MessageFactory messageFactory,
+                                      Mediator mediator) {
         this.service = service;
         this.binding = binding;
         this.servletHost = servletHost;
         this.messageFactory = messageFactory;
+        this.mediator = mediator;
     }
 
     public InterfaceContract getBindingInterfaceContract() {
@@ -63,7 +67,7 @@
         RuntimeWire wire = componentService.getRuntimeWire(binding);
 
         FeedBindingListenerServlet servlet =
-            new FeedBindingListenerServlet(wire, messageFactory, "atom_1.0");
+            new FeedBindingListenerServlet(wire, messageFactory, mediator, 
"atom_1.0");
 
         servletMapping = binding.getURI();
         if (!servletMapping.endsWith("/")) {

Modified: 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/FeedBindingListenerServlet.java
 Mon Nov 12 12:39:31 2007
@@ -34,8 +34,14 @@
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.xml.namespace.QName;
 
 import org.apache.commons.codec.binary.Base64;
+import org.apache.tuscany.sca.databinding.Mediator;
+import org.apache.tuscany.sca.interfacedef.DataType;
+import org.apache.tuscany.sca.interfacedef.Operation;
+import org.apache.tuscany.sca.interfacedef.impl.DataTypeImpl;
+import org.apache.tuscany.sca.interfacedef.util.XMLType;
 import org.apache.tuscany.sca.invocation.InvocationChain;
 import org.apache.tuscany.sca.invocation.Invoker;
 import org.apache.tuscany.sca.invocation.Message;
@@ -81,6 +87,10 @@
     private Invoker deleteInvoker;
     private MessageFactory messageFactory;
     private String feedType;
+    private Mediator mediator;
+    private DataType<?> itemClassType;
+    private DataType<?> itemXMLType;
+    private boolean supportsEntries;
 
     /**
      * Constructs a new binding listener.
@@ -89,14 +99,17 @@
      * @param messageFactory
      * @param feedType
      */
-    FeedBindingListenerServlet(RuntimeWire wire, MessageFactory 
messageFactory, String feedType) {
+    FeedBindingListenerServlet(RuntimeWire wire, MessageFactory 
messageFactory, Mediator mediator, String feedType) {
         this.wire = wire;
         this.messageFactory = messageFactory;
+        this.mediator = mediator;
         this.feedType = feedType;
 
         // Get the invokers for the supported operations
+        Operation getOperation = null;
         for (InvocationChain invocationChain : 
this.wire.getInvocationChains()) {
-            String operationName = 
invocationChain.getSourceOperation().getName();
+            Operation operation = invocationChain.getTargetOperation();
+            String operationName = operation.getName();
             if (operationName.equals("getFeed")) {
                 getFeedInvoker = invocationChain.getHeadInvoker();
             } else if (operationName.equals("getAll")) {
@@ -105,6 +118,7 @@
                 queryInvoker = invocationChain.getHeadInvoker();
             } else if (operationName.equals("get")) {
                 getInvoker = invocationChain.getHeadInvoker();
+                getOperation = operation;
             } else if (operationName.equals("put")) {
                 putInvoker = invocationChain.getHeadInvoker();
             } else if (operationName.equals("putMedia")) {
@@ -117,6 +131,18 @@
                 deleteInvoker = invocationChain.getHeadInvoker();
             }
         }
+
+        // Determine the collection item type
+        itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), 
String.class, String.class);
+        Class<?> itemClass = getOperation.getOutputType().getPhysical();
+        if (itemClass == Entry.class) {
+            supportsEntries = true;
+        }
+        DataType<XMLType> outputType = getOperation.getOutputType();
+        QName qname = outputType.getLogical().getElementName();
+        qname = new QName(qname.getNamespaceURI(), itemClass.getSimpleName());
+        itemClassType = new DataTypeImpl<XMLType>("java:complexType", 
itemClass, new XMLType(qname, null));
+        
     }
 
     @Override
@@ -132,8 +158,7 @@
         String path = request.getPathInfo();
 
         // The feedType parameter is used to override what type of feed is 
going
-        // to
-        // be produced
+        // to be produced
         String requestFeedType = request.getParameter("feedType");
         if (requestFeedType == null)
             requestFeedType = feedType;
@@ -176,9 +201,9 @@
 
                 // Return a feed containing the entries in the collection
                 Feed feed = null;
-                if (getFeedInvoker != null) {
+                if (supportsEntries) {
 
-                    // The service implementation is Feed-aware, invoke its 
getFeed operation
+                    // The service implementation supports feed entries, 
invoke its getFeed operation
                     Message requestMessage = messageFactory.createMessage();
                     Message responseMessage = 
getFeedInvoker.invoke(requestMessage);
                     if (responseMessage.isFault()) {
@@ -188,8 +213,9 @@
                     
                 } else {
 
-                    // The service implementation is not Feed-aware, invoke 
its getAll operation
-                    // to get the data item collection. then create a Feed 
from it
+                    // The service implementation does not support feed 
entries,
+                    // invoke its getAll operation to get the data item 
collection, then create
+                    // feed entries from the items
                     Message requestMessage = messageFactory.createMessage();
                     Message responseMessage = 
getAllInvoker.invoke(requestMessage);
                     if (responseMessage.isFault()) {
@@ -234,9 +260,9 @@
                 if (responseMessage.isFault()) {
                     throw new 
ServletException((Throwable)responseMessage.getBody());
                 }
-                if (getFeedInvoker != null) {
+                if (supportsEntries) {
                     
-                    // The service implementation is Feed-aware and returns a 
Feed entry 
+                    // The service implementation returns a feed entry 
                     entry = responseMessage.getBody();
                     
                 } else {
@@ -270,9 +296,9 @@
 
                 // Return an RSS feed containing the entries in the collection
                 Feed feed = null;
-                if (getFeedInvoker != null) {
+                if (supportsEntries) {
 
-                    // The service implementation is Feed-aware, invoke its 
getFeed operation
+                    // The service implementation supports feed entries, 
invoke its getFeed operation
                     Message requestMessage = messageFactory.createMessage();
                     Message responseMessage = 
getFeedInvoker.invoke(requestMessage);
                     if (responseMessage.isFault()) {
@@ -282,8 +308,9 @@
                     
                 } else {
 
-                    // The service implementation is not Feed-aware, invoke 
its getAll operation
-                    // to get the data item collection. then create a Feed 
from it
+                    // The service implementation does not support feed 
entries, invoke its
+                    // getAll operation to get the data item collection. then 
create feed entries
+                    // from the data items
                     Message requestMessage = messageFactory.createMessage();
                     Message responseMessage = 
getAllInvoker.invoke(requestMessage);
                     if (responseMessage.isFault()) {
@@ -334,10 +361,14 @@
             entry.setId(key.toString());
             entry.setTitle("item");
     
+            // Convert the item to XML
+            String value = mediator.mediate(item, itemClassType, itemXMLType, 
null).toString();
+            value = value.substring(value.indexOf('>') +1);
+            
             Content content = new Content();
-            content.setType(Content.TEXT);
-            content.setValue(item.toString());
-            List contents = new ArrayList();
+            content.setType("text/xml");
+            content.setValue(value);
+            List<Content> contents = new ArrayList<Content>();
             contents.add(content);
             entry.setContents(contents);
     
@@ -357,6 +388,30 @@
         }
     }
 
+    /**
+     * Create a data item from an Atom entry.
+     * @param key
+     * @param item
+     * @return
+     */
+    private Object createItem(Entry entry) {
+        if (entry != null) {
+            List<?> contents = entry.getContents();
+            if (contents.isEmpty()) {
+                return null;
+            }
+            Content content = (Content)contents.get(0);
+    
+            // Create the item from XML
+            String value = content.getValue();
+            Object item = mediator.mediate(value, itemXMLType, itemClassType, 
null);
+
+            return item;
+        } else {
+            return null;
+        }
+    }
+
     @Override
     protected void doPost(HttpServletRequest request, HttpServletResponse 
response) throws ServletException,
         IOException {
@@ -389,9 +444,9 @@
                 }
 
                 // Let the component implementation create it
-                if (getFeedInvoker != null) {
+                if (supportsEntries) {
                     
-                    // The service implementation is Feed-aware, pass the 
entry to it
+                    // The service implementation supports feed entries, pass 
the entry to it
                     Message requestMessage = messageFactory.createMessage();
                     requestMessage.setBody(new Object[] {entry});
                     Message responseMessage = 
postInvoker.invoke(requestMessage);
@@ -401,9 +456,9 @@
                     createdEntry = responseMessage.getBody();
                 } else {
                     
-                    // The service implementation is not Feed-aware, pass the 
data item to it
+                    // The service implementation does not support feed 
entries, pass the data item to it
                     Message requestMessage = messageFactory.createMessage();
-                    Object item = 
((Content)entry.getContents().get(0)).getValue();
+                    Object item = createItem(entry);
                     requestMessage.setBody(new Object[] {item});
                     Message responseMessage = 
postInvoker.invoke(requestMessage);
                     if (responseMessage.isFault()) {
@@ -499,9 +554,9 @@
                 }
 
                 // Let the component implementation create it
-                if (getFeedInvoker != null) {
+                if (supportsEntries) {
                     
-                    // The service implementation is Feed-aware, pass the 
entry to it
+                    // The service implementation supports feed entries, pass 
the entry to it
                     Message requestMessage = messageFactory.createMessage();
                     requestMessage.setBody(new Object[] {id, entry});
                     Message responseMessage = 
putInvoker.invoke(requestMessage);
@@ -515,9 +570,9 @@
                     }
                 } else {
                     
-                    // The service implementation is not Feed-aware, pass the 
data item to it
+                    // The service implementation does not support feed 
entries, pass the data item to it
                     Message requestMessage = messageFactory.createMessage();
-                    Object item = 
((Content)entry.getContents().get(0)).getValue();
+                    Object item = createItem(entry);
                     requestMessage.setBody(new Object[] {id, item});
                     Message responseMessage = 
putInvoker.invoke(requestMessage);
                     if (responseMessage.isFault()) {

Modified: 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingProviderFactory.java
 Mon Nov 12 12:39:31 2007
@@ -22,6 +22,10 @@
 import org.apache.tuscany.sca.binding.feed.RSSBinding;
 import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
+import org.apache.tuscany.sca.databinding.DataBindingExtensionPoint;
+import org.apache.tuscany.sca.databinding.Mediator;
+import org.apache.tuscany.sca.databinding.TransformerExtensionPoint;
+import org.apache.tuscany.sca.databinding.impl.MediatorImpl;
 import org.apache.tuscany.sca.host.http.ServletHost;
 import org.apache.tuscany.sca.host.http.ServletHostExtensionPoint;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -37,14 +41,17 @@
  */
 public class RSSBindingProviderFactory implements 
BindingProviderFactory<RSSBinding> {
 
-    MessageFactory messageFactory;
-    ServletHost servletHost;
+    private MessageFactory messageFactory;
+    private Mediator mediator;
+    private ServletHost servletHost;
 
     public RSSBindingProviderFactory(ExtensionPointRegistry extensionPoints) {
         ServletHostExtensionPoint servletHosts = 
extensionPoints.getExtensionPoint(ServletHostExtensionPoint.class);
         this.servletHost = servletHosts.getServletHosts().get(0);
         ModelFactoryExtensionPoint modelFactories = 
extensionPoints.getExtensionPoint(ModelFactoryExtensionPoint.class);
         this.messageFactory = modelFactories.getFactory(MessageFactory.class);
+        this.mediator = new 
MediatorImpl(extensionPoints.getExtensionPoint(DataBindingExtensionPoint.class),
+                                         
extensionPoints.getExtensionPoint(TransformerExtensionPoint.class));
     }
 
     public ReferenceBindingProvider 
createReferenceBindingProvider(RuntimeComponent component,
@@ -56,7 +63,7 @@
     public ServiceBindingProvider 
createServiceBindingProvider(RuntimeComponent component,
                                                                
RuntimeComponentService service,
                                                                RSSBinding 
binding) {
-        return new RSSServiceBindingProvider(component, service, binding, 
servletHost, messageFactory);
+        return new RSSServiceBindingProvider(component, service, binding, 
servletHost, messageFactory, mediator);
     }
 
     public Class<RSSBinding> getModelType() {

Modified: 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java?rev=594293&r1=594292&r2=594293&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSServiceBindingProvider.java
 Mon Nov 12 12:39:31 2007
@@ -20,6 +20,7 @@
 package org.apache.tuscany.sca.binding.feed.provider;
 
 import org.apache.tuscany.sca.binding.feed.RSSBinding;
+import org.apache.tuscany.sca.databinding.Mediator;
 import org.apache.tuscany.sca.host.http.ServletHost;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.invocation.MessageFactory;
@@ -38,16 +39,19 @@
     private ServletHost servletHost;
     private MessageFactory messageFactory;
     private String servletMapping;
+    private Mediator mediator;
 
     RSSServiceBindingProvider(RuntimeComponent component,
                                      RuntimeComponentService service,
                                      RSSBinding binding,
                                      ServletHost servletHost,
-                                     MessageFactory messageFactory) {
+                                     MessageFactory messageFactory,
+                                     Mediator mediator) {
         this.service = service;
         this.binding = binding;
         this.servletHost = servletHost;
         this.messageFactory = messageFactory;
+        this.mediator = mediator;
     }
 
     public InterfaceContract getBindingInterfaceContract() {
@@ -63,7 +67,7 @@
         RuntimeWire wire = componentService.getRuntimeWire(binding);
 
         FeedBindingListenerServlet servlet =
-            new FeedBindingListenerServlet(wire, messageFactory, "rss_2.0");
+            new FeedBindingListenerServlet(wire, messageFactory, mediator, 
"rss_2.0");
 
         servletMapping = binding.getURI();
         servletHost.addServletMapping(servletMapping, servlet);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to