You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/01/13 09:34:18 UTC
svn commit: r611546 - in /incubator/tuscany/java/sca/modules: binding-feed/
binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/
implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/
Author: jsdelfino
Date: Sun Jan 13 00:34:14 2008
New Revision: 611546
URL: http://svn.apache.org/viewvc?rev=611546&view=rev
Log:
Changed the data collection getAll method to return an array of Entry objects instead of a Map as a Map can't be easily described using WSDL and XSD and won't work with Web Service interactions.
Added:
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java
- copied, changed from r609080, incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java
incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java (with props)
Removed:
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java
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/AtomBindingInvoker.java
incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.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/RSSBindingInvoker.java
incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.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=611546&r1=611545&r2=611546&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/pom.xml (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/pom.xml Sun Jan 13 00:34:14 2008
@@ -44,6 +44,12 @@
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
+ <artifactId>tuscany-implementation-data-api</artifactId>
+ <version>1.2-incubating-SNAPSHOT</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-core-spi</artifactId>
<version>1.2-incubating-SNAPSHOT</version>
</dependency>
Modified: incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java?rev=611546&r1=611545&r2=611546&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomBindingInvoker.java Sun Jan 13 00:34:14 2008
@@ -40,6 +40,8 @@
/**
* Invoker for the Atom binding.
+ *
+ * @version $Rev$ $Date$
*/
class AtomBindingInvoker implements Invoker {
@@ -47,6 +49,8 @@
String uri;
HttpClient httpClient;
String authorizationHeader;
+
+ //FIXME Support conversion to/from data api entries
AtomBindingInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
this.operation = operation;
@@ -64,8 +68,6 @@
/**
* Get operation invoker
- *
- * @version $Rev$ $Date$
*/
public static class GetInvoker extends AtomBindingInvoker {
@@ -88,9 +90,9 @@
// Read the Atom entry
if (status == 200) {
- Entry entry =
- AtomEntryUtil.readEntry("atom_1.0", new InputStreamReader(getMethod.getResponseBodyAsStream()));
- msg.setBody(entry);
+ Entry feedEntry =
+ AtomFeedEntryUtil.readFeedEntry("atom_1.0", new InputStreamReader(getMethod.getResponseBodyAsStream()));
+ msg.setBody(feedEntry);
} else if (status == 404) {
msg.setFaultBody(new NotFoundException());
@@ -110,8 +112,6 @@
/**
* Post operation invoker
- *
- * @version $Rev$ $Date$
*/
public static class PostInvoker extends AtomBindingInvoker {
@@ -123,7 +123,7 @@
public Message invoke(Message msg) {
// Post an entry
- Entry entry = (Entry)((Object[])msg.getBody())[0];
+ Entry feedEntry = (Entry)((Object[])msg.getBody())[0];
// Send an HTTP POST
PostMethod postMethod = new PostMethod(uri);
@@ -132,7 +132,7 @@
// Write the Atom entry
StringWriter writer = new StringWriter();
- AtomEntryUtil.writeEntry(entry, "atom_1.0", writer);
+ AtomFeedEntryUtil.writeFeedEntry(feedEntry, "atom_1.0", writer);
postMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
postMethod.setRequestEntity(new StringRequestEntity(writer.toString()));
@@ -142,8 +142,8 @@
// Read the Atom entry
if (status == 200 || status == 201) {
Entry createdEntry =
- AtomEntryUtil
- .readEntry("atom_1.0", new InputStreamReader(postMethod.getResponseBodyAsStream()));
+ AtomFeedEntryUtil
+ .readFeedEntry("atom_1.0", new InputStreamReader(postMethod.getResponseBodyAsStream()));
msg.setBody(createdEntry);
} else if (status == 404) {
@@ -164,8 +164,6 @@
/**
* Put operation invoker
- *
- * @version $Rev$ $Date$
*/
public static class PutInvoker extends AtomBindingInvoker {
@@ -179,7 +177,7 @@
// Put an entry
Object[] args = (Object[])msg.getBody();
String id = (String)args[0];
- Entry entry = (Entry)args[1];
+ Entry feedEntry = (Entry)args[1];
// Send an HTTP PUT
PutMethod putMethod = new PutMethod(uri + "/" + id);
@@ -188,7 +186,7 @@
// Write the Atom entry
StringWriter writer = new StringWriter();
- AtomEntryUtil.writeEntry(entry, "atom_1.0", writer);
+ AtomFeedEntryUtil.writeFeedEntry(feedEntry, "atom_1.0", writer);
putMethod.setRequestHeader("Content-type", "application/atom+xml; charset=utf-8");
putMethod.setRequestEntity(new StringRequestEntity(writer.toString()));
@@ -199,7 +197,7 @@
if (status == 200 || status == 201) {
try {
Entry updatedEntry =
- AtomEntryUtil.readEntry("atom_1.0", new InputStreamReader(putMethod
+ AtomFeedEntryUtil.readFeedEntry("atom_1.0", new InputStreamReader(putMethod
.getResponseBodyAsStream()));
msg.setBody(updatedEntry);
} catch (Exception e) {
@@ -224,8 +222,6 @@
/**
* Delete operation invoker
- *
- * @version $Rev$ $Date$
*/
public static class DeleteInvoker extends AtomBindingInvoker {
@@ -267,13 +263,11 @@
}
/**
- * GetCollection operation invoker
- *
- * @version $Rev$ $Date$
+ * GetAll operation invoker
*/
- public static class GetCollectionInvoker extends AtomBindingInvoker {
+ public static class GetAllInvoker extends AtomBindingInvoker {
- public GetCollectionInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
+ public GetAllInvoker(Operation operation, String uri, HttpClient httpClient, String authorizationHeader) {
super(operation, uri, httpClient, authorizationHeader);
}
@@ -313,8 +307,6 @@
/**
* PostMedia operation invoker
- *
- * @version $Rev$ $Date$
*/
public static class PostMediaInvoker extends AtomBindingInvoker {
@@ -331,8 +323,6 @@
/**
* PutMedia operation invoker
- *
- * @version $Rev$ $Date$
*/
public static class PutMediaInvoker extends AtomBindingInvoker {
Copied: incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java (from r609080, 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/AtomFeedEntryUtil.java?p2=incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomFeedEntryUtil.java&p1=incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomEntryUtil.java&r1=609080&r2=611546&rev=611546&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/AtomFeedEntryUtil.java Sun Jan 13 00:34:14 2008
@@ -26,8 +26,6 @@
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.ServletException;
-
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
@@ -47,7 +45,7 @@
*
* @version $Rev$ $Date$
*/
-class AtomEntryUtil {
+class AtomFeedEntryUtil {
/**
* Read an Atom entry
@@ -59,7 +57,7 @@
* @throws FeedException
* @throws IllegalArgumentException
*/
- static Entry readEntry(String feedType, Reader reader) throws JDOMException, IOException, IllegalArgumentException,
+ static Entry readFeedEntry(String feedType, Reader reader) throws JDOMException, IOException, IllegalArgumentException,
FeedException {
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(reader);
@@ -72,9 +70,9 @@
document.getRootElement().addContent(root);
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);
+ Entry feedEntry = (Entry)feed.getEntries().get(0);
+ if (feedEntry.getContents().size() != 0) {
+ Content content = (Content)feedEntry.getContents().get(0);
if ("text/xml".equals(content.getType())) {
Element element = root.getChild("content", root.getNamespace());
if (!element.getChildren().isEmpty()) {
@@ -86,7 +84,7 @@
}
}
}
- return entry;
+ return feedEntry;
}
/**
@@ -99,13 +97,13 @@
* @throws IOException
* @throws ServletException
*/
- static void writeEntry(Entry entry, String feedType, Writer writer) throws IllegalArgumentException, FeedException,
+ static void writeFeedEntry(Entry feedEntry, String feedType, Writer writer) throws IllegalArgumentException, FeedException,
IOException {
Feed feed = new Feed();
feed.setFeedType(feedType);
- List<Entry> entries = new ArrayList<Entry>();
- entries.add(entry);
- feed.setEntries(entries);
+ List<Entry> feedEntries = new ArrayList<Entry>();
+ feedEntries.add(feedEntry);
+ feed.setEntries(feedEntries);
WireFeedOutput wireFeedOutput = new WireFeedOutput();
Document document = wireFeedOutput.outputJDom(feed);
Modified: incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java?rev=611546&r1=611545&r2=611546&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/AtomReferenceBindingProvider.java Sun Jan 13 00:34:14 2008
@@ -45,6 +45,12 @@
private String authorizationHeader;
private HttpClient httpClient;
+ /**
+ * Construcst a new AtomReferenceBindingProvider
+ * @param component
+ * @param reference
+ * @param binding
+ */
AtomReferenceBindingProvider(RuntimeComponent component,
RuntimeComponentReference reference,
AtomBinding binding) {
@@ -71,8 +77,8 @@
} else if (operationName.equals("delete")) {
return new AtomBindingInvoker.DeleteInvoker(operation, binding.getURI(), httpClient,
authorizationHeader);
- } else if (operationName.equals("getFeed")) {
- return new AtomBindingInvoker.GetCollectionInvoker(operation, binding.getURI(), httpClient,
+ } else if (operationName.equals("getFeed") || operationName.equals("getAll")) {
+ return new AtomBindingInvoker.GetAllInvoker(operation, binding.getURI(), httpClient,
authorizationHeader);
} else if (operationName.equals("postMedia")) {
return new AtomBindingInvoker.PostMediaInvoker(operation, binding.getURI(), httpClient,
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=611546&r1=611545&r2=611546&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 Sun Jan 13 00:34:14 2008
@@ -25,7 +25,6 @@
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import java.util.Map;
import java.util.StringTokenizer;
import java.util.logging.Logger;
@@ -90,7 +89,7 @@
private Mediator mediator;
private DataType<?> itemClassType;
private DataType<?> itemXMLType;
- private boolean supportsEntries;
+ private boolean supportsFeedEntries;
/**
* Constructs a new binding listener.
@@ -136,7 +135,7 @@
itemXMLType = new DataTypeImpl<Class<?>>(String.class.getName(), String.class, String.class);
Class<?> itemClass = getOperation.getOutputType().getPhysical();
if (itemClass == Entry.class) {
- supportsEntries = true;
+ supportsFeedEntries = true;
}
DataType<XMLType> outputType = getOperation.getOutputType();
QName qname = outputType.getLogical().getElementName();
@@ -201,7 +200,7 @@
// Return a feed containing the entries in the collection
Feed feed = null;
- if (supportsEntries) {
+ if (supportsFeedEntries) {
// The service implementation supports feed entries, invoke its getFeed operation
Message requestMessage = messageFactory.createMessage();
@@ -221,14 +220,15 @@
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
- Map<Object, Object> collection = (Map<Object, Object>)responseMessage.getBody();
+ org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>[] collection =
+ (org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>[])responseMessage.getBody();
if (collection != null) {
// Create the feed
feed = new Feed();
feed.setTitle("Feed");
- for (Map.Entry<Object, Object> item: collection.entrySet()) {
- Entry entry = createEntry(item.getKey(), item.getValue());
- feed.getEntries().add(entry);
+ for (org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry: collection) {
+ Entry feedEntry = createFeedEntry(entry.getKey(), entry.getData());
+ feed.getEntries().add(feedEntry);
}
}
}
@@ -250,7 +250,7 @@
} else if (path.startsWith("/")) {
// Return a specific entry in the collection
- Entry entry;
+ Entry feedEntry;
// Invoke the get operation on the service implementation
Message requestMessage = messageFactory.createMessage();
@@ -260,23 +260,23 @@
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
- if (supportsEntries) {
+ if (supportsFeedEntries) {
// The service implementation returns a feed entry
- entry = responseMessage.getBody();
+ feedEntry = responseMessage.getBody();
} else {
// The service implementation only returns a data item, create an entry
// from it
- entry = createEntry(id, responseMessage.getBody());
+ feedEntry = createFeedEntry(id, responseMessage.getBody());
}
// Write the Atom entry
- if (entry != null) {
+ if (feedEntry != null) {
response.setContentType("application/atom+xml; charset=utf-8");
try {
- AtomEntryUtil.writeEntry(entry, feedType, getWriter(response));
+ AtomFeedEntryUtil.writeFeedEntry(feedEntry, feedType, getWriter(response));
} catch (FeedException e) {
throw new ServletException(e);
}
@@ -296,7 +296,7 @@
// Return an RSS feed containing the entries in the collection
Feed feed = null;
- if (supportsEntries) {
+ if (supportsFeedEntries) {
// The service implementation supports feed entries, invoke its getFeed operation
Message requestMessage = messageFactory.createMessage();
@@ -316,14 +316,15 @@
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
- Map<Object, Object> collection = (Map<Object, Object>)responseMessage.getBody();
+ org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>[] collection =
+ (org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object>[])responseMessage.getBody();
if (collection != null) {
// Create the feed
feed = new Feed();
feed.setTitle("Feed");
- for (Map.Entry<Object, Object> item: collection.entrySet()) {
- Entry entry = createEntry(item.getKey(), item.getValue());
- feed.getEntries().add(entry);
+ for (org.apache.tuscany.sca.implementation.data.collection.Entry<Object, Object> entry: collection) {
+ Entry feedEntry = createFeedEntry(entry.getKey(), entry.getData());
+ feed.getEntries().add(feedEntry);
}
}
}
@@ -355,11 +356,11 @@
* @param item
* @return
*/
- private Entry createEntry(Object key, Object item) {
+ private Entry createFeedEntry(Object key, Object item) {
if (item != null) {
- Entry entry = new Entry();
- entry.setId(key.toString());
- entry.setTitle("item");
+ Entry feedEntry = new Entry();
+ feedEntry.setId(key.toString());
+ feedEntry.setTitle("item");
// Convert the item to XML
String value = mediator.mediate(item, itemClassType, itemXMLType, null).toString();
@@ -370,19 +371,19 @@
content.setValue(value);
List<Content> contents = new ArrayList<Content>();
contents.add(content);
- entry.setContents(contents);
+ feedEntry.setContents(contents);
Link link = new Link();
link.setRel("edit");
link.setHref(key.toString());
- entry.getOtherLinks().add(link);
+ feedEntry.getOtherLinks().add(link);
link = new Link();
link.setRel("alternate");
link.setHref(key.toString());
- entry.getAlternateLinks().add(link);
+ feedEntry.getAlternateLinks().add(link);
- entry.setCreated(new Date());
- return entry;
+ feedEntry.setCreated(new Date());
+ return feedEntry;
} else {
return null;
}
@@ -394,9 +395,9 @@
* @param item
* @return
*/
- private Object createItem(Entry entry) {
- if (entry != null) {
- List<?> contents = entry.getContents();
+ private Object createItem(Entry feedEntry) {
+ if (feedEntry != null) {
+ List<?> contents = feedEntry.getContents();
if (contents.isEmpty()) {
return null;
}
@@ -427,16 +428,16 @@
String path = request.getPathInfo();
if (path == null || path.length() == 0 || path.equals("/")) {
- Entry createdEntry = null;
+ Entry createdFeedEntry = null;
// Create a new Atom entry
String contentType = request.getContentType();
if (contentType.startsWith("application/atom+xml")) {
// Read the entry from the request
- Entry entry;
+ Entry feedEntry;
try {
- entry = AtomEntryUtil.readEntry(feedType, request.getReader());
+ feedEntry = AtomFeedEntryUtil.readFeedEntry(feedType, request.getReader());
} catch (JDOMException e) {
throw new ServletException(e);
} catch (FeedException e) {
@@ -444,28 +445,28 @@
}
// Let the component implementation create it
- if (supportsEntries) {
+ if (supportsFeedEntries) {
// The service implementation supports feed entries, pass the entry to it
Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {entry});
+ requestMessage.setBody(new Object[] {feedEntry});
Message responseMessage = postInvoker.invoke(requestMessage);
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
- createdEntry = responseMessage.getBody();
+ createdFeedEntry = responseMessage.getBody();
} else {
// The service implementation does not support feed entries, pass the data item to it
Message requestMessage = messageFactory.createMessage();
- Object item = createItem(entry);
+ Object item = createItem(feedEntry);
requestMessage.setBody(new Object[] {item});
Message responseMessage = postInvoker.invoke(requestMessage);
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
Object key = responseMessage.getBody();
- createdEntry = createEntry(key, item);
+ createdFeedEntry = createFeedEntry(key, item);
}
} else if (contentType != null) {
@@ -483,16 +484,16 @@
if (responseMessage.isFault()) {
throw new ServletException((Throwable)responseMessage.getBody());
}
- createdEntry = responseMessage.getBody();
+ createdFeedEntry = responseMessage.getBody();
} else {
response.sendError(HttpServletResponse.SC_UNSUPPORTED_MEDIA_TYPE);
}
// A new entry was created successfully
- if (createdEntry != null) {
+ if (createdFeedEntry != null) {
// Set location of the created entry in the Location header
- for (Object l : createdEntry.getOtherLinks()) {
+ for (Object l : createdFeedEntry.getOtherLinks()) {
Link link = (Link)l;
if (link.getRel() == null || "edit".equals(link.getRel())) {
response.addHeader("Location", link.getHref());
@@ -504,7 +505,7 @@
response.setStatus(HttpServletResponse.SC_CREATED);
response.setContentType("application/atom+xml; charset=utf-8");
try {
- AtomEntryUtil.writeEntry(createdEntry, feedType, getWriter(response));
+ AtomFeedEntryUtil.writeFeedEntry(createdFeedEntry, feedType, getWriter(response));
} catch (FeedException e) {
throw new ServletException(e);
}
@@ -544,9 +545,9 @@
if (contentType.startsWith("application/atom+xml")) {
// Read the entry from the request
- Entry entry;
+ Entry feedEntry;
try {
- entry = AtomEntryUtil.readEntry(feedType, request.getReader());
+ feedEntry = AtomFeedEntryUtil.readFeedEntry(feedType, request.getReader());
} catch (JDOMException e) {
throw new ServletException(e);
} catch (FeedException e) {
@@ -554,11 +555,11 @@
}
// Let the component implementation create it
- if (supportsEntries) {
+ if (supportsFeedEntries) {
// The service implementation supports feed entries, pass the entry to it
Message requestMessage = messageFactory.createMessage();
- requestMessage.setBody(new Object[] {id, entry});
+ requestMessage.setBody(new Object[] {id, feedEntry});
Message responseMessage = putInvoker.invoke(requestMessage);
if (responseMessage.isFault()) {
Object body = responseMessage.getBody();
@@ -572,7 +573,7 @@
// The service implementation does not support feed entries, pass the data item to it
Message requestMessage = messageFactory.createMessage();
- Object item = createItem(entry);
+ Object item = createItem(feedEntry);
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/RSSBindingInvoker.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java?rev=611546&r1=611545&r2=611546&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java (original)
+++ incubator/tuscany/java/sca/modules/binding-feed/src/main/java/org/apache/tuscany/sca/binding/feed/provider/RSSBindingInvoker.java Sun Jan 13 00:34:14 2008
@@ -65,6 +65,9 @@
SyndFeed syndFeed = input.build(new XmlReader(new URL(uri)));
feed = (Feed)syndFeed.createWireFeed("atom_1.0");
}
+
+ //FIXME Support conversion to data-api entries
+
msg.setBody(feed);
} catch (MalformedURLException e) {
Modified: incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java?rev=611546&r1=611545&r2=611546&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java (original)
+++ incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Collection.java Sun Jan 13 00:34:14 2008
@@ -18,8 +18,6 @@
*/
package org.apache.tuscany.sca.implementation.data.collection;
-import java.util.Map;
-
import org.osoa.sca.annotations.Remotable;
/**
@@ -35,14 +33,14 @@
*
* @return the whole collection.
*/
- Map<K, D> getAll();
+ Entry<K, D>[] getAll();
/**
* Returns a collection resulting from a query.
*
* @return the collection.
*/
- Map<K, D> query(String queryString);
+ Entry<K, D>[] query(String queryString);
/**
* Creates a new item.
Added: incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java?rev=611546&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java (added)
+++ incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java Sun Jan 13 00:34:14 2008
@@ -0,0 +1,80 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.tuscany.sca.implementation.data.collection;
+
+
+/**
+ * Represents a key/data pair in a data collection.
+ *
+ * @version $Rev$ $Date$
+ */
+public class Entry <K, D> {
+
+ private K key;
+ private D data;
+
+ /**
+ * Constructs a new entry.
+ */
+ public Entry() {
+ }
+
+ /**
+ * Constructs a new entry.
+ * @param key the entry key
+ * @param data the entry data
+ */
+ public Entry(K key, D data) {
+ this.key = key;
+ this.data = data;
+ }
+
+ /**
+ * Returns the entry key.
+ * @return the key
+ */
+ public K getKey() {
+ return key;
+ }
+
+ /**
+ * Sets the entry key.
+ * @param key the key
+ */
+ public void setKey(K key) {
+ this.key = key;
+ }
+
+ /**
+ * Returns the entry data.
+ * @return the entry data
+ */
+ public D getData() {
+ return data;
+ }
+
+ /**
+ * Sets the entry data
+ * @param data the entry data
+ */
+ public void setData(D data) {
+ this.data = data;
+ }
+
+}
Propchange: incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/implementation-data-api/src/main/java/org/apache/tuscany/sca/implementation/data/collection/Entry.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org